Autor Zpráva
rad
Profil *
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
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
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 *
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 *
ok dejte to k ledu problem vyresen - asi to neni normalni ale po nekolikatem restartu firefoxu vse funguje normalne
diky i tak

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0