Formulaire + Update de bdd Mysql + Firefox = bug

Des problèmes qui n'en sont plus
bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Formulaire + Update de bdd Mysql + Firefox = bug

Message par bonze » 08 mars 2005, 10:58

Salut tout le monde, un petit mot pour rapporter un probleme que je rencontre avec firefox. Je vous explique :

j'ai une base de données. Je veux mettre à jour les infos d'une table.
J'ai crée un formulaire qui se rempli des valeurs existantes de la table (quand elles existent). ce formulaire part dans un fichier de traitement qui UPDATE la table concernée. Tous les logs sont bons, la requete passe bien avec les bonnes valeurs (quand je fais un echo "$requete" c'est tout ok) si je copies colles la requetes dans phpmyadmin la requete passe et update bien la table.

Le soucis apparait quand j'utilise firefox. Mon echo $requete est bon mais la requete vide la ligne concernée au lieu de l'updater.
Si je fais la meme opération avec IE ou meme safari il n'y a aucun soucis.

Je n'ai pas trouvé de réponse.
Si vous en avez pour moi, je suis toutes ouies...

Merci :)

SB
Varan
Messages : 1095
Enregistré le : 05 mars 2004, 18:38

Message par SB » 08 mars 2005, 12:17

Pour ma part aucun problème avec la fonction update.
Je ne vois pas d'où peut venir ton problème.

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 08 mars 2005, 12:37

Serait ce dû à mon code ?

calimo
Animal mythique
Messages : 14118
Enregistré le : 26 déc. 2003, 11:51

Message par calimo » 08 mars 2005, 12:43

Est-ce qu'il est valide au moins ?

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 08 mars 2005, 12:51

Oui of course :)

Code : Tout sélectionner

This Page Is Valid HTML 4.01 Transitional!

SB
Varan
Messages : 1095
Enregistré le : 05 mars 2004, 18:38

Message par SB » 08 mars 2005, 13:21

On peut le voir ?
Peut être as-tu imbriqué 2 formulaires ?

jv2759
Tyrannosaurus Rex
Messages : 4161
Enregistré le : 12 févr. 2004, 14:29

Message par jv2759 » 08 mars 2005, 13:27

Mon echo $requete est bon mais la requete vide la ligne concernée au lieu de l'updater.
Moi il y as quelque chose que je ne comprent pas vraiment à ce niveaux, tu parle d'un echo, c'est bien mais echo c'est du php et il n'as rien à faire du naviguateur...

Ce que je ne comprend pas c'est en quoi php pourais être perturber par un naviguateur...
Inscrit sur la liste des abonner absent...

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 08 mars 2005, 13:46

Voici mon Formulaire :

Code : Tout sélectionner

<? session_start(); ?>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html lang='fr'>
<head>

<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>
<meta name="AUTHOR" content="Bonze">
<link href='style.css' rel='stylesheet' type='text/css'>
 <title>Gestion des Stock</title>
</head>


<body>

 <?  require "menu.php"; 
if (@!$_SESSION['admin']){ echo"<div class='contenu'>Loggez vous SVP</div></body></html>"; exit;}
?>
 
 <div class='contenu'>
  <?
  $ref_art=$_GET['ref_art'];
  require "menu-stock.txt"; 
  require "../conf/connexion.php";
  $result= mysql_query("SELECT * from ss_art WHERE ref_art='$ref_art'");
  $row=mysql_fetch_array ($result);
  mysql_close();
  
  echo "
   <div class='art'>
    <form action='modif_art.php?ref_art=".$ref_art."' method='post'>
     REF : ".$row['ref_art']."<br>
     Dénomination :<input type='text' name='denom_art' value='".$row['denom_art']."'><br>
     Description :<br><textarea name='description' cols='20' rows='6'>".$row['description']."</textarea><br>
     <img src='".$row['logo']."'><br>
     URL du logo : <input type='text' name='logo' value='".$row['logo']."'><br>
     <img src='".$row['img1']."' width='150'><br>
     URL image 1 : <input type='text' name='img1'  value='".$row['img1']."'> (optionnel)<br>
     <img src='".$row['img2']."' width='150'><br>
     URL image 2 : <input type='text' name='img2' value='".$row['img2']."'> (optionnel)<br>
     Prix Unitaire : <input type='text' name='prix' size='4' value='".$row['prix']."'>€<br>
     Stock : <input type='text' name='stock' size='3' value='".$row['stock']."'><br>
     Rubrique : <select name='rub'>
     <option selected value='".$row['rub']."'>".$row['rub']."</option>
     <option>T-Shirt</option>
     <option>Posters</option>
     <option>Divers</option>
     </select>
     <select name='etat'>
     
     <option selected value='1'>en attente</option>
     <option value='2'>en ligne</option>
     </select>
   <input type='submit' value='Mettre à jour'>
    </form>
   </div>
   ";
    	
  
  ?>
  
 </div>

</body>
</html>
Et voici la page de traitement

Code : Tout sélectionner

<? session_start(); ?>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
 <head>
  <title>Mise à jour effectuée</title>
  <meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>
  <link href='style.css' rel='stylesheet' type='text/css'>
 </head>
 
 <body>
 <?php
  require "menu.php";
 ?>
 <div class='contenu'>
 <?
 require "menu-stock.txt";
 
 $ref_art=$_GET['ref_art'];
/* je renomme les variables qui arrivent du formulaire */
$denom_art=$_POST['denom_art'];
$description=$_POST['description'];
$logo=$_POST['logo'];
$img1=$_POST['img1'];
$img2=$_POST['img2'];
$prix=$_POST['prix'];
$stock=$_POST['stock'];
$rub=$_POST['rub'];
$etat=$_POST['etat'];


 
/*Je vais ouvrir une connexion à la table des articles pour mettre a jour les données */

require "../conf/connexion.php";
$requete=mysql_query("UPDATE ss_art SET denom_art='$denom_art', description='$description', logo='$logo', img1='$img1', img2='$img2', prix='$prix', stock='$stock', rub='$rub', etat='$etat' WHERE ref_art='$ref_art'") or
die(mysql_error());
mysql_close();

if(!$requete)
   {echo"<div class='contenu'>Il y a eu un probleme</div> ";}

else{  
   echo "<b>$denom_art</b> a bien été mis a jour.<br>
   <br>
   <box><b>Référence :</b> $ref_art ||| $denom_art <img src='$logo' align='left'><br>
   <b>Description :</b> $description<br>
   <b>Prix :</b> $prix €<br>
   <b>Stocks :</b> $stock<br>
   <img src='$img1'>$img1<br>
   <img src='$img2'>$img2<br>
   <b>Rubrique :</b> $rub <br>";
   if ($etat==2){echo "<img src='../img/vert.png'>";}
  	 else {echo"en attente";}
   }
  ?>
</div>
  	 

</body>
</html>

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 08 mars 2005, 13:47

jv2759
Bin moi n,on plus je ne vois pas; 'est bien là qu'est le probleme !
:lol: :(

SB
Varan
Messages : 1095
Enregistré le : 05 mars 2004, 18:38

Message par SB » 08 mars 2005, 15:45

As-tu essayé de vérifier avant traitement que les variables sont bien transmises entre les 2 pages ?
Si oui je te conseille de vérifier régulièrement pendant le traitement tes variables pour "voir" à quelle étape elles sont perdues.

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 08 mars 2005, 15:55

Oui j'ai deja tester tout ça

j'avais un echo $requete; dans ma page de traitement et la requete etait bonne a vu d oeil et si je la copiais collais dans phpmyadmin ca fonctionne parfaitement.

Donc les variables passent effectivement., elle ne sont pas perdues car je peux les afficher dans la page de traitement.

Code : Tout sélectionner

else{ 
   echo "<b>$denom_art</b> a bien été mis a jour.<br>
   <br>
   <box><b>Référence :</b> $ref_art ||| $denom_art <img src='$logo' align='left'><br>
   <b>Description :</b> $description<br>
   <b>Prix :</b> $prix €<br>
   <b>Stocks :</b> $stock<br>
   <img src='$img1'>$img1<br>
   <img src='$img2'>$img2<br>
   <b>Rubrique :</b> $rub <br>";
   if ($etat==2){echo "<img src='../img/vert.png'>";}
      else {echo"en attente";} 
fonctionne parfaitement bien.

mais si je regarde a ce moment précis dans phpmyadmin bion je vois que la ligne est vidée.

est ce que la syntaxe de ma requete est mauvaise ?

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 09 mars 2005, 15:29

Un pote a moi à testé mon site chez lui. Il a exactement le meme probleme.
Sous Firefox la requete merde, sous IE et/ou Safari no problem.
C'est donc bien un soucis avec Firefox. Personne n'a une idée de réponse ?
Petit détail ce site est un site que je vais vendre. Faut il que je dise à mes clients de ne pas utiliser Firefox pour un bon fonctionnement du site ?

Ca me ferait mal, moi qui fait chier tout le monde depuis 6 mois pour adopter Firefox !

calimo
Animal mythique
Messages : 14118
Enregistré le : 26 déc. 2003, 11:51

Message par calimo » 09 mars 2005, 17:29

Il y a un truc que je peine à comprendre... tu dis que tu peux afficher $requete dans ta page de traitement. Donc la variable a bien été transmise au serveur, et à ce moment là, le navigateur n'a plus rien à voir, c'est uniquement le serveur qui fait le traitement par php... mais le navigateur n'intervient plus (à moins que tu ne lui retournes quelque chose).

Donc c'est un problème sur le serveur... :roll:

SB
Varan
Messages : 1095
Enregistré le : 05 mars 2004, 18:38

Message par SB » 09 mars 2005, 19:45

Il n'y a rien qui me saute aux yeux dans ton code.
Peut être derrière ces lignes :

Code : Tout sélectionner

require "menu-stock.txt";
require "../conf/connexion.php";
Qu'y a-t-il dedans ?

bonze
Salamandre
Messages : 46
Enregistré le : 08 mars 2005, 10:48

Message par bonze » 10 mars 2005, 08:17

dans menu-stock.txt il y a juste un petit menu :
<a>texte</a>

dans connexion.php il y a ma connexion à la bdd

Code : Tout sélectionner

$connect = mysql_connect("localhost", "log", "mdp")
    or die("Impossible de se connecter : " . mysql_error());
    
mysql_select_db("table");
c est le fichier que j'utilise pour toutes mes connexions donc il est ok.
Pour le serveur je suis chez ovh si ca vous parle...
Je rappelle que le soucis je ne l'ai qu'avec Firefox, alors c'est bien du à un probleme avec Firefox, avec Safari je n'ai aucun souci.
Il doit bien y avoir une reponse somewhere ...
Si ca interresse quelqu'un je peux filer les passes par MP pour que vous vous rendiez compte par vous meme. Je ne reve pas j'ai bien un soucis et j'aimerais le resoudre :/

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité