Pagina 1 din 1

Cod upload cu inregistrare in mysql

Scris: Sâm Noi 06, 2010
de cipriand
Am gasit codul acesta pe site la dvs.

Cod: Selectaţi tot

<?php
       if(isset($_POST['submit']))
       {
       $uploadpath = "imagini/";        // Directorul unde incarca pozele

        $id=$_POST['id'];
        $familie=$_POST['familie'];
        $tata=$_POST['tata'];
        $mama=$_POST['mama'];
        $membri=$_POST['membri'];
        $detalii=$_POST['detalii'];
        $poza=$uploadpath. basename( $_FILES['poza']['name']);
        $baieti=$_POST['baieti'];
        $fete=$_POST['fete'];
         if(strlen($familie)<1)
         {
           print "Nu este nici un membru!";
         }
         else
         {
       if(move_uploaded_file($_FILES['poza']['tmp_name'], $poza)) {
              echo "Fisierul:<b> ". basename( $_FILES['poza']['name']). "</b> a fost incarcat cu succes:";
        }
        
           $addemail="Insert into membrii_bisericii(id, familie, tata, mama, membri, detalii, poza, baieti, fete) values('$id', '$familie', '$tata', '$mama', '$membrii', '$detalii', '$poza', '$baieti', '$fete')";
           mysql_query($addemail) or die("NU se poate adauga!");
           print "Membru adaugat!  <a href='adaugare_familie.php'>Inapoi la adaugare!</a>";
         }
       }   
       else
       {
          print "<form action='adaugare_familie.php' method='post' enctype='multipart/form-data'>";
          print "ID:<br>";
          print "<input type='text' name='id' size='30'><br>";
         print "Familie:<br>";
          print "<input type='text' name='familie' size='30'><br>";
         print "Tata:<br>";
          print "<input type='text' name='tata' size='30'><br>";
         print "Mama:<br>";
          print "<input type='text' name='mama' size='30'><br>";
         print "Membrii:<br>";
          print "<input type='text' name='membri' size='30'><br>";
         print "Baieti:<br>";
          print "<input type='text' name='baieti' size='30'><br>";
         print "Fete:<br>";
          print "<input type='text' name='fete' size='30'><br>";
         print "Poza:<br>";
          print "<input type='file' name='poza'><br>";
         print "Detalii:<br>";
          print "<textarea name='detalii' cols='45' rows='3' id='detalii'></textarea><br>";
          print "<input type='submit' name='submit' value='Adauga familie'></form>";
       }
    ?>
l-am incarcat in ftp am creat baza de date:

Cod: Selectaţi tot

CREATE TABLE IF NOT EXISTS `membrii_bisericii` (
  `id` int(3) NOT NULL auto_increment,
  `familie` varchar(40) NOT NULL default '',
  `tata` varchar(20) NOT NULL default '',
  `mama` varchar(40) NOT NULL default '',
  `membri` varchar(20) NOT NULL default '',
  `detalii` varchar(500) NOT NULL default '',
  `poza` varchar(5000) NOT NULL,
  `baieti` varchar(40) NOT NULL default '',
  `fete` varchar(40) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1292 ;
Am facut un .htaccess

Cod: Selectaţi tot

Options +FollowSymLinks
RewriteEngine on

RewriteRule adaugare_familie.php index.php
Cand dau trimitere imi incarca poza in fisier dar datele in baza de date nu.

Test:

Cod: Selectaţi tot

Fisierul: gfd.jpg a fost incarcat cu succes.NU se poate adauga!
I-am facut o conexiune dar, ce am gresit?

Cod upload cu inregistrare in mysql

Scris: Sâm Noi 06, 2010
de cipriand
Era greseala mea in baza de date era membri si in formular am pus membrii . Merge tzipla !

Exista posibilitatea pe codul de mai sus sa excluda fisierele tip .exe .rar , si dimensiunea maxima.
Ceva de genul:

Cod: Selectaţi tot

$allowtype = array('bmp', 'flv', 'gif', 'jpg', 'jpeg', 'png');
$max_size = 300000;
Am chinuit eu ceva , dar nu-mi iese.
Gresesc undeva?

Cod upload cu inregistrare in mysql

Scris: Sâm Apr 06, 2013
de MarPlo
Avand definite variabilele astea pentru tipuri de extensii permise, si marimea maxima (in KiloBytes).

Cod: Selectaţi tot

$allowtype = array('bmp', 'flv', 'gif', 'jpg', 'jpeg', 'png');
$max_size = 3000;        // in KB (3 MB)
Poti prelua si verifica extensia si marimea fisierului transmis folosind acest cod:

Cod: Selectaţi tot

$allowtype = array('bmp', 'flv', 'gif', 'jpg', 'jpeg', 'png');
$max_size = 3000;        // in KB (3 MB)

// preia tipul /extensia
$splitname = explode(".", strtolower($_FILES['poza']['name']));
$type = end($splitname);

// daca are extensia permisa
if (in_array($type, $allowtype)) {
  // daca nu depaseste marimea permisa
  if ($_FILES['poza']['size'] <= $max_size*1000) {
    // ... Restul codului pt. Upload si adaugare in baza de date
  }
  else {
    echo 'Fisierul depaseste marimea de: '. $max_size .' KB';
  }
}
else {
  echo 'Tip fisier incorect';
}
In rest, il adaptezi cum stii.

Cod upload cu inregistrare in mysql

Scris: Dum Apr 07, 2013
de cipriand
Am incarcat codul , imi da mesajul daca nu e fisier corespunzator sau daca e prea mare dar formularul tot il completeaza , fisierul tot il incarca ... teoretic ar trebui sa zica STOP ca la if(strlen($familie)<1) ( cand nu e completat ... sa te intoarca !

Cod upload cu inregistrare in mysql

Scris: Dum Apr 07, 2013
de MarPlo
Tu stii ce ai facut, cum ai compus codul; si tot tu poti gasi rezolvarea daca iei atent la verificat acel script.
Mai mult decat exemplu dat mai sus nu am ce sa ajut.

- Studiaza /incearca si scripturile de Upload de la pagina Scripturi PHP-MySQL, sunt doua.

Cod upload cu inregistrare in mysql

Scris: Dum Apr 14, 2013
de cipriand
Am rezolvat pana la urma ... gresiseshi un } :D . Am incarcat o poza , daca incarc alta poza cu acelasi nume o sterge pe cea veche si o pune pe cea noua . nu s-ar putea sa o trimita cu un alt nume numepoza(1) sau numepoza_1 ... in cazul in care numele initial al pozei este "numepoza".

Cod upload cu inregistrare in mysql

Scris: Dum Apr 14, 2013
de MarPlo
Incearca asa, sa inlocuieste linia de cod:

Cod: Selectaţi tot

$poza=$uploadpath. basename( $_FILES['poza']['name']);
Cu acest cod:

Cod: Selectaţi tot

$poza = $uploadpath. basename( $_FILES['poza']['name']);
if(file_exists($poza)) $poza = str_replace('.', '_2.', $poza);
 

Cod upload cu inregistrare in mysql

Scris: Lun Apr 15, 2013
de cipriand
A mers , va multumesc din suflet , sunt lucruri care le inveti dar fara un pik de ajutor ... uf ... mercic !