La mise à jour UPDATE ne s'exécute pas !

Résolu/Fermé
phplover Messages postés 22 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 13 mai 2014 - 17 déc. 2013 à 00:48
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 - 19 déc. 2013 à 21:54
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');
}

?>
A voir également:

1 réponse

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
19 déc. 2013 à 21:54
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)
0