La mise à jour UPDATE ne s'exécute pas ! [Résolu/Fermé]

Signaler
Messages postés
22
Date d'inscription
samedi 20 avril 2013
Statut
Membre
Dernière intervention
13 mai 2014
-
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
-
Dans le code suivant je récupère des variables d'un formulaire et je je vérifie si le CNE existe déja dans la base de données pour insérer les autres informations dans la base de données mais la mise à jour ne s'effectue pas et pire encore le programme continue et exécute la location vers l'autre page.... ? Besoin de votre aide (:
<?php
$a=$_REQUEST['a'];//cne
$b=$_REQUEST['b'];//Nom
$c=$_REQUEST['c'];//prenom
$d=$_REQUEST['d'];//datenaissance
$f=$_REQUEST['f'];//email
$g=$_REQUEST['g'];//sexe
$h=$_REQUEST['h'];//cin
$i=$_REQUEST['i'];//login
$p=$_REQUEST['p'];//password
$y= mysql_connect('localhost','root','') or die ("erreur de connexion au serveur");
mysql_select_db('projet',$y) or die ("erreur de connexion a la base de donnees");
if( isset($_REQUEST['ok']) && !empty($a) && !empty($b) && !empty($c) && !empty($d) && !empty($f) && !empty($g) && !empty($h) && !empty($i) && !empty($p))
{
$cin=mysql_query("select cne from etudiant where cne=".$a);
//while($row=mysql_fetch_array($cin))
mysql_query("update etudiant set Nom='".$b."',Prenom='".$c."', DateNaissance='".$d."', Email=".$f.",Sexe='".$g."', CIN='".$h."',Login='".$i."',Password='".$p."' where cne like '".$a."'");

header('Location: bieninsc.php');
}
else{
header('Location: etudiant.php');
}

?>

1 réponse

Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122
BONJOUR,

Pour le débogage, tu peut tester ce code là :
<?php 
$a=$_REQUEST['a'];//cne 
$b=$_REQUEST['b'];//Nom 
$c=$_REQUEST['c'];//prenom 
$d=$_REQUEST['d'];//datenaissance 
$f=$_REQUEST['f'];//email 
$g=$_REQUEST['g'];//sexe 
$h=$_REQUEST['h'];//cin 
$i=$_REQUEST['i'];//login 
$p=$_REQUEST['p'];//password 
$y= mysql_connect('localhost','root','') or die ("erreur de connexion au serveur"); 
mysql_select_db('projet',$y) or die ("erreur de connexion a la base de donnees"); 
if( isset($_REQUEST['ok']) && !empty($a) && !empty($b) && !empty($c) && !empty($d) && !empty($f) && !empty($g) && !empty($h) && !empty($i) && !empty($p)) 
{ 
echo "Toutes les variables Sont bien là !<br />";
$cin=mysql_query("select cne from etudiant where cne=".$a); 
//while($row=mysql_fetch_array($cin)) 
mysql_query("update etudiant set Nom='".$b."',Prenom='".$c."', DateNaissance='".$d."', Email=".$f.",Sexe='".$g."', CIN='".$h."',Login='".$i."',Password='".$p."' where cne like '".$a."'"); 
echo "Requête : <br />update etudiant set Nom='".$b."',Prenom='".$c."', DateNaissance='".$d."', Email=".$f.",Sexe='".$g."', CIN='".$h."',Login='".$i."',Password='".$p."' where cne like '".$a."'";
// header('Location: bieninsc.php'); 
} 
else{ 

echo "Il manque au moins une Variable !";
// header('Location: etudiant.php'); 
} 

?>

Les Header en commentaire te permettrons de voir tes éventuelles erreurs.
Les deux echo te permettrons de savoir si ton if renvoi True ou False.
L'echo de ta requête te permettra de voir si tes variables sont bonnes. (Tu peut toujours tester ta requête sur phpmyadmin ou faire un or die mysql_error)

Sinon, pense à protéger tes variables, si tu n'a pas les magic quote d'activer, une apostrophe fera foiré ton code. (Regarde du côté de mysql_real_escpae_string)