IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête SQL UPDATE ne marche pas avec Mozilla


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Requête SQL UPDATE ne marche pas avec Mozilla
    Bonjour,
    Voilà, j'ai un gros problème:
    j'ai un site oé les gens peuvent cršŠer des comptes et les modifier à leur gré (adresse,tél,...).
    Sous internet explorer, tout marche bien.
    par contre sous Mozilla Firefox, la requête UPDATE ne marche pas (les données ne sont pas modifiées mais la requête ne retroune aucun message d'erreur) !
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $requet_maj_c_identite ="UPDATE candidats SET c_titre='$c_titre', c_nom='$c_nom', c_prenom='$c_prenom', c_age='$c_age', c_statut='$c_statut', c_ville='$c_ville', c_pays='$c_pays', c_adresse_poste='$c_adresse_poste', c_tel='$c_tel', c_web='$c_web' WHERE c_email='$c_email'";
    if(!(mysql_query($requet_maj_c_identite))){
    echo"<table align=\"center\" width=\"99%\" style=\"border-width:1; border-color:#009900; border-style:solid;\" cellspacing=0 bgcolor=#009900>".
    "<tr><td align=\"center\"><span class=\"msg_erreur\">Errreur de connexion à la base de donn§Ûes! Veuillez r§Ûessayer plus tard. Merci.</td></tr>".
    "<tr><td align=\"center\"><a href=\"candidats.php\"><span class=\"lien_blanc\">Revenir à la page d'accueil.</span></a></td></tr>".
    "</table>";
    }else{//pour mettre à jour
    echo"<table align=\"center\" width=\"99%\" style=\"border-width:1; border-color:#009900; border-style:solid;\" cellspacing=0 bgcolor=#009900>".
    "<tr><td align=\"center\"><span class=\"msg_succes\">Votre espace \"Identité & Contact\" a été mis àjour.</span></td></tr>".
    "<tr><td align=\"center\"><a href=\"candidats.php\"><span class=\"lien_blanc\">Revenir à votre espace.</span></a></td></tr>".
    "</table>"
    Merci de m'aider

  2. #2
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Bonjour,

    Pour commancer, ca ne peut pas venir de la requete UPDATE.
    Les commandes SQL sont éxécutées coté Serveur. Dans ton cas le problème intervient en changeant de Client.

    par contre sous Mozilla Firefox, la requête UPDATE ne marche pas
    Est ce que ca affiche "Errreur de connexion à la base de donn§Ûes! ..." ou "Votre espace 'Identité & Contact' a été mis àjour ..."

    Peux-tu ajouter ca, juste avant le IF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "SQL : " . $requet_maj_c_identite . "<br />"
    et renvoyer la commande SQL.

    Gillou

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci,

    En affichant la requête, celle-ci s'affiche correctement. Autrement dit, les variables apparaissent avec leurs varaiables respectives.

    A vous lire.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Complément d'infos: la requête ne marche pas quand TOUS les champs sont renseignés!!!

    Ainsi, si on en remplit que quelques champs, ça marche PARFOIS (et aléatoirement on dirait).

    Par exemple, quand je rempli uniquement le champ "Nom" du formulaire (en répétant plusieurs fois), parfois les données sont enregistrées et à la fois suivante pas enregistrées!

  5. #5
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    tu voudrais pas rajouter un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query(requete) or die(mysql_error())
    au moment ou tu executes ta requetes pour vérifier le bon fonctionnement ?
    Pourrais-tu mettre le script avec les données que tu charges ? Toutes les données sont elles bien exactes ? Les champs de la base sont-ils corrects par rapport à ceux de ta requête ?

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci Rems033,

    Excuse-moi, je ne sais pas si j'ai compru ce que vous me proposez.
    Cependant, j'ose dire ceci:
    1)pour gérer une éventuelle erreur dans l'exécution de la requête, je fais un if (Cf. mon 1er message plus haut)

    2)Si la requête marche bien sur IE et sur Google Chrome, cela implique que le formulaire est bon.
    mais voilà, je te passe les 2 fonctions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    /affichage des infos dans un formulaire pour permettre de les modifier
    Function editer_identite_contact (){
      Global $c_id,$c_email,$c_pass,$c_titre,$c_nom,$c_prenom,$c_age,$c_statut,$c_ville,$c_pays,$c_adresse_poste,$c_tel,$c_web;
     
    	$c_email = $_SESSION["email_c"];
     
      $requet_identite = "SELECT c_id,c_email,c_pass,c_titre,c_nom,c_prenom,c_age,c_statut,c_ville,c_pays,c_adresse_poste,c_tel,c_web FROM candidats WHERE c_email=\"$c_email\"";
      if ((!$result_identite = mysql_query($requet_identite))){
    				 echo "<table align=\"center\" valign=\"top\" width=\"99%\" style=\"border-width:1; border-color:#009900;  border-style:solid;\" bgcolor=#009900>".
    	                   "<tr>"."<td align=\"left\" width=\"99%\" height=\"100\" style=\"border-width:1; border-color:009900; border-style:solid;\">". 
    				      "<span class=\"msg_erreur\">Errreur de connexion à la base de données! Veuillez réessayer plus tard. Merci.</span>".
    				       "</td></tr></table>" ;
    				 }else{
    				 $row = mysql_fetch_array($result_identite);
    				 $c_id = stripslashes($row['c_id']);
    				 $c_email = stripslashes($row['c_email']);
    				 $c_pass = stripslashes($row['c_pass']);
    				 $c_titre = stripslashes($row['c_titre']);
    				 $c_nom = stripslashes($row['c_nom']);
    				 $c_prenom = stripslashes($row['c_prenom']);
    				 $c_age = stripslashes($row['c_age']);
    				 $c_statut = stripslashes($row['c_statut']);
    				 $c_ville = stripslashes($row['c_ville']);
    				 $c_pays = stripslashes($row['c_pays']);
    				 $c_adresse_poste = stripslashes($row['c_adresse_poste']);
    				 $c_tel = stripslashes($row['c_tel']);
    				 $c_web = stripslashes($row['c_web']); 
     
    		echo  "<table align=\"center\" valign=\"top\" width=\"99%\" style=\"border-width:1; border-color:#009900;  border-style:solid;\" bgcolor=#009900>".
    	                   "<tr>"."<td align=\"center\" width=\"99%\">".   
    					   "<span class=titre1><b>Editer le Champ \"Identité & Contact\"</span>(laisser les champs vides en cas d'info indisponible)</td></tr></table>";
           echo "<table align=\"center\" valign=\"top\" width=\"99%\" style=\"border-width:1; border-color:#009900;  border-style:solid;\" bgcolor=#009900>".
    	                   "<tr>"."<td align=\"left\" width=\"15%\">".
    					   "<form action=\"candidats.php?action=maj_identite_contact\" method=\"post\">". 				       
    					   "</td><td align=\"left\" width=\"60%\"></td></tr>".
    					   "<tr><td align=\"left\"><b>Email:</b></td><td align=\"left\"> $c_email</td></tr>".  //l'email ne doit pas être modifiables
    					   "<tr><td align=\"left\"><b>Titre:</b></td><td align=\"left\"><select name=\"c_titre\">".
    					   			  "<option value=\"\">--Choisir dans la liste--</option>";
    								   $tablo_titre = array ("Dr", "M.","Mme","Melle");
    								  Foreach ($tablo_titre as $titre_nom) {
    								   if ($titre_nom == $c_titre){ $sel = "selected "; }
    								    echo "<option value=\"$titre_nom\" $sel >$titre_nom</option>\n";
    			                             $sel = ""; 
    								   }//fin de while  
    								 echo "</select></td></tr>";
     
    		   echo    "<tr><td align=\"left\"><b>Nom:</b></td><td align=\"left\"><input name=\"c_nom\" value=\"$c_nom\" SIZE=\"50\" maxlength=\"49\"></td></tr>".
    				   "<tr><td align=\"left\"><b>Prénom:</b></td><td align=\"left\"><input name=\"c_prenom\" value=\"$c_prenom\" SIZE=\"50\" maxlength=\"49\"></td></tr>".
    				   "<tr><td align=\"left\"><b>Age:</b></td><td align=\"left\"><input name=\"c_age\" value=\"$c_age\" SIZE=\"3\" maxlength=\"2\"></td></tr>".
    				   "<tr><td align=\"left\"><b>Statut matrimonial:</b></td><td align=\"left\"><input name=\"c_statut\" value=\"$c_statut\" SIZE=\"30\" maxlength=\"39\"> (ex: célibataire; marié et père de 2 enfants)</td></tr>".
    				 "<tr><td align=\"left\"><b>Ville:</b></td><td align=\"left\"><input name=\"c_ville\" value=\"$c_ville\" SIZE=\"20\" maxlength=\"39\"></td></tr>".
    				"<tr><td align=\"left\"><b>Pays:</b></td><td align=\"left\"><input name=\"c_pays\" value=\"$c_pays\" SIZE=\"20\" maxlength=\"39\"></td></tr>".
    				"<tr><td align=\"left\"><b>Adresse postale:</b></td><td align=\"left\"><input name=\"c_adresse_poste\" value=\"$c_adresse_poste\" SIZE=\"80\" maxlength=\"149\"></td></tr>".
    				"<tr><td align=\"left\"><b>Téléphone:</b></td><td align=\"left\"><input name=\"c_tel\" value=\"$c_tel\" SIZE=\"20\" maxlength=\"19\"></td></tr>".
    				"<tr><td align=\"left\"><b>Site web:</b></td><td align=\"left\"><input name=\"c_web\" value=\"$c_web\" SIZE=\"50\" maxlength=\"49\"> (avec le \"http://\" si sous domaine)</td></tr>".
    					   "</table>";
    		echo "<table align=\"center\" valign=\"top\" width=\"99%\" style=\"border-width:1; border-color:#009900;  border-style:solid;\" bgcolor=#009900>".
    					   "<tr><td valign=top width=\"50%\" align=\"center\"><br><input type=\"image\" src=\"images/valider.png\" name=\"imageField\" alt=\"Mettre à jour\" border=\"0\" align=\"center\">".
    					   "</td><td valign=top width=\"50%\"  align=\"left\"><br><a href=\"candidats.php\"><img src=\"images\annuler.png\" alt=\"Annuler\" border=0></a>".
    					   "<input type=\"hidden\" name=\"action\" value=\"maj_identite_contact\">".
    					   "</p></form></td></tr></table>"; 
     
      }
       } 
     
    // pour mettre à jour les données
    Function maj_identite_contact() {
       Global $c_id,$c_email,$c_pass,$c_titre,$c_nom,$c_prenom,$c_age,$c_statut,$c_ville,$c_pays,$c_adresse_poste,$c_tel,$c_web; 
    	$c_email = $_SESSION["email_c"];
    	$requet_maj_c_identite = "UPDATE candidats SET c_titre='".$c_titre."',c_nom='".$c_nom."',c_prenom='".$c_prenom."',c_age='".$c_age."',c_statut='".$c_statut."',c_ville='".$c_ville."',c_pays='".$c_pays."',c_adresse_poste='".$c_adresse_poste."',c_tel='".$c_tel."',c_web='".$c_web."' WHERE c_email='".$c_email."'";
    					/*mysql_query($requet_maj_c_identite)
                        or die("Couldn't connect to MySQL:<br>" 
                         . mysql_error(). "<br>"
                           . mysql_errno());*/
     
    					if (!(mysql_query($requet_maj_c_identite))){
    					   echo "<table align=\"center\" width=\"99%\" style=\"border-width:1; border-color:#009900; border-style:solid;\" cellspacing=0 bgcolor=#009900>".
    				 			"<tr><td align=\"center\"><span class=\"msg_erreur\">Errreur de connexion à la base de données! Veuillez réessayer plus tard. Merci.</td></tr>".
    				 			"<tr><td align=\"center\"><a href=\"candidats.php\"><span class=\"lien_blanc\">Revenir à la page d'accueil.</span></a></td></tr>".
    				 			"</table>";
    						}else{//pour mettre à jour
    						 echo "<table align=\"center\" width=\"99%\" style=\"border-width:1; border-color:#009900; border-style:solid;\" cellspacing=0 bgcolor=#009900>".
    				           "<tr><td align=\"center\"><span class=\"msg_succes\">Votre espace \"Identité & Contact\" a été mis à jour.</span></td></tr>".
    				          "<tr><td align=\"center\"><a href=\"candidats.php\"><span class=\"lien_blanc\">Revenir à votre espace.</span></a></td></tr>".
    				          "</table>" ; 
    						 //echo $requet_maj_c_identite;
    						  }	
    }

  7. #7
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    Je pense que c'est un problème de formulaire dans le sens ou l'incompatibilité ne se passe pas côté serveur (MySQL) mais côté navigateur...
    Vérifie la cohérence de ton script en regardant l'interprétation de ton code php par FF.

Discussions similaires

  1. [Prototype] element.update ne marche pas avec IE6 si le contenu contient <li>
    Par ilalaina dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 23/10/2009, 08h48
  2. [LINQ to SQL] Update qui marche pas
    Par zooffy dans le forum Accès aux données
    Réponses: 3
    Dernier message: 15/10/2008, 14h23
  3. Code javascript ne marche pas avec Mozilla Firefox
    Par Contact2012 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/10/2008, 11h06
  4. requête SQL qui ne marche pas en tant que vue (view)
    Par charlesz dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/08/2008, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo