| 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: 14 let
|
|||
0