Autor | Zpráva | ||
---|---|---|---|
rad Profil * |
#1 · Zasláno: 17. 10. 2011, 14:56:27
vyskytla se mi podivna chyba. kdyz odesilam data pres formular ve firefoxu tak se mi data jakoby odeslou dvakrat - do databaze se prida dvakrat stejny obsah.
Co je mi divne ze v ostatni prohlizecich - safary chrome se toto nedeje co s tim ? diky je problem v kodu php da se to nejak osetrit ? |
||
Taps Profil |
#2 · Zasláno: 17. 10. 2011, 15:19:17
rad:
„problem v kodu php da se to nejak osetrit ?“ To bychom ten kod museli vidět :-) |
||
rad Profil * |
chapu ale mate s tim nekdo zkusenost je normalni ze se formular v jednom prohlizeci odesle normalne a ve firefoxu ne ?
Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
Majkl578 Profil |
#4 · Zasláno: 17. 10. 2011, 15:57:44
rad:
„je normalni ze se formular v jednom prohlizeci odesle normalne a ve firefoxu ne“ Není. Buď nám ukaž kód, nebo to přesunu k ledu. Nemá smysl tu věštit. |
||
rad Profil * |
#5 · Zasláno: 17. 10. 2011, 17:08:31
ok tady je kod
if(isset($_FILES['upload'])){ $nom=($_POST['produit_nom']); $prix=($_POST['produit_prix']); $description=($_POST['produit_description']); $categorie=($_POST['categorie']); $nom=filter_var($nom, FILTER_SANITIZE_STRING); $prix=filter_var($prix, FILTER_SANITIZE_STRING); $description=filter_var($description, FILTER_SANITIZE_STRING); $stock=($_POST['stock']); $stock=filter_var($stock, FILTER_SANITIZE_STRING); if (($nom=='')||($prix=='')||($description=='')||($categorie=='')||($stock=='')) {$message='<p class=error>INSERT Error</p>';} else { $tablename = 'produit'; $next_increment = 0; $db->query("SHOW TABLE STATUS LIKE '".$tablename."';"); while($result2=$db->fetch_assoc()) { $next_ncrement=$result2['Auto_increment']; } //echo $next_ncrement; //$db->query(SELECT * ) ----------FIX for same NAME !!! $db->query("INSERT INTO produit VALUES('','$nom','$description','$prix','$next_ncrement','$categorie');"); $db->query("INSERT INTO stock VALUES('','0','0','0','$stock','$next_ncrement');"); } $i=0; for($i=0;$i < count($_FILES['upload']['name']);$i++) { if($_FILES['upload']['size'][$i] === 0 || empty($_FILES['upload']['tmp_name'][$i])) { $message="<p class=\"error\">error upload.</p>\r\n"; } else if($_FILES['upload']['size'][$i] > 30000000) { $message="<p class=\"error\">error BIG.</p>\r\n"; } else if (!preg_match('/[.](gif|jpg|jpeg|png|JPG|JPEG)$/',$_FILES['upload']['name'][$i])) //error pour type { $message='<p class="error">type de fichier non reconnu</p>'; } else if($_FILES['upload']['error'][$i] !== UPLOAD_ERR_OK) { $message="<p class=\"error\">PHP error.</p>\r\n"; } else { $db->query("SELECT id_photo_produit FROM photo_produit ORDER BY id_photo_produit DESC LIMIT 1;"); //derniere numero while($result=$db->fetch_assoc()) { $pl=$result['id_photo_produit']; }; $pl=$pl+1; if(!preg_match('/[.](gif|jpg|jpeg|png|JPG|JPEG)$/',$_FILES['upload']['name'][$i])) //error pour type JPG et jpg ... je pense on peux faire mieux { $message='<p class="error">type de fichier non reconnu</p>'; } else { if (preg_match('/[.](jpg|JPG)$/',$_FILES['upload']['name'][$i] )) { //renome $image="img".$pl.".jpg"; } else if (preg_match('/[.](gif)$/', $_FILES['upload']['name'][$i])) { $image="img".$pl.".gif"; } else if (preg_match('/[.](png)$/', $_FILES['upload']['name'][$i])) { $image="img".$pl.".png"; } else if (preg_match('/[.](jpeg|JPEG)$/', $_FILES['upload']['name'][$i])) { $image="img".$pl.".jpeg"; } $filename = $image; $source = $_FILES['upload']['tmp_name'][$i]; $target = $path_to_image_directory . $filename; move_uploaded_file($source, $target); if(preg_match('/[.](jpg)$/', $filename)) { $im = imagecreatefromjpeg($path_to_image_directory . $filename); } else if (preg_match('/[.](gif)$/', $filename)) { $im = imagecreatefromgif($path_to_image_directory . $filename); } else if (preg_match('/[.](png)$/', $filename)) { $im = imagecreatefrompng($path_to_image_directory . $filename); } $ox = imagesx($im); $oy = imagesy($im); if (($ox<800)&&($oy<800)) { imagedestroy($im); } else{ if($ox>$oy){ $nx=800; $ny=($nx*$oy)/$ox; } else{ $ny=800; $nx=($ny*$ox)/$oy; } $nm = imagecreatetruecolor($nx, $ny); imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy); imagejpeg($nm, $target, 100); imagedestroy($nm); } $db->query("INSERT INTO photo_produit VALUES ('','$image','$description','$next_ncrement');"); } } |
||
rad Profil * |
#6 · Zasláno: 17. 10. 2011, 18:50:16
ok dejte to k ledu problem vyresen - asi to neni normalni ale po nekolikatem restartu firefoxu vse funguje normalne
diky i tak |
||
Časová prodleva: 13 let
|
0