|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Messages: 27
|
Bonsoir j'ai un petit probleme : j'essaye depuis quelques jours de finaliser mon formulaire de modification de mot de passe qui logiquement apres traitement des informations saisies devrait effectuer une requete SQL update pour modifier ma table dans ma base de donnée. Apres saisies des mdp l'erreur suivante s'affiche :
Query was empty Si quelqu'un aurait une idée elle sera la bienvenue.Merci et bonne soirée. code formulaire : Code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Changement de mot de passe</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet"type="text/css"href="designform.css"> </head> <body> <form action="newpass.php" method='post'> <table> <tr><td>Ancien mot de passe :</td><td> <input type="password" name="oldpass"size="20"/></td></tr> <tr><td>Nouveau mot de passe : </td><td> <input type="text" name="newpass1"size="20"/></td></tr> <tr><td>Confirmation mot de passe : </td><td> <input type="text" name="newpass2" size="20"/></td></tr> <TR> <TD><INPUT TYPE="SUBMIT" VALUE="Mise a jour"></TD> </TR> </TABLE> </form> </body> </html> Code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>New pass</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet"type="text/css"href="designform.css"> </head> <body> <?php $oldpass = $_POST["oldpass"]; $newpass1 = $_POST["newpass1"]; $newpass2 = $_POST["newpass2"]; $login = $_POST["login"]; $pass = $_POST["pass"]; require_once "connect.php"; //si oldpass est bon et newpass1 = newpass2 if( $pass == $oldpass and $newpass1 == $newpass2){; mysql_query("UPDATE utilisateur SET pass='$newpass1' login = '$login'"); //$sql = sprintf("UPDATE utilisateur SET pass = $newpass1 FROM utilisateur WHERE login = $login"); GetSQLValueString($newpass1,"text"); GetSQLValueString($login,"text"); } $rs = mysql_query($sql1) or die ("Erreur : <br/><code>" . $sql1 . "<code><br/>--<br/>" . "<span class='alert'>" . mysql_error() . "</span>"); function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } //si ancien mot de pass incorrect if ($pass != $oldpass){; echo 'Votre ancien mot de pass a été mal renseigné'; } //si les 2 mdp sont differents if ($newpass1 != $newpass2){; echo 'Vous avez tapé deux mots de passe différents'; } ?> </body> </html> |
|
|
|
|
|
#5 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Messages: 27
|
Code :
mysql_query("UPDATE utilisateur SET pass='$newpass1' login = '$login'"); //$sql = sprintf("UPDATE utilisateur SET pass = $newpass1 WHERE login = $login"); GetSQLValueString($newpass1,"text"); GetSQLValueString($login,"text"); } $rs = mysql_query($sql) or die ("Erreur : <br/><code>" . $sql . "<code><br/>--<br/>" . "<span class='alert'>" . mysql_error() . "</span>"); Dernière modification par sabotage ; 15/10/2009 à 08h20. Motif: fusion |
|
|
|
|
|
#8 (permalink) |
![]() Date d'inscription: avril 2009
Messages: 803
|
normalement non puisque tu exécutes la requête juste avant
j'ai l'impression que tu as mélangé plusieurs code, regarde tout ton code ligne par ligne en vérifiant ce qu'il fait et tu verras qu'il y a des lignes qui posent problème
__________________
GNAP ! |
|
|
|
|
|
#9 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: juin 2009
Messages: 27
|
Voila apres modifications mon script change mon mot de passe de la base de donnée mais le probléme c'est qu'il le fait sans prendre en compte les conditions ("if"): même si l'ancien mot de passe entré ne correspond pas avec celui de la base de donnée ou que les 2 mots de passes entrés dans le formulaire ne soit pas les mêmes il change celui de la base de donnée quand même. Le code est :
Code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>New pass</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet"type="text/css"href="designform.css"> </head> <body> <?php $oldpass = $_POST["oldpass"]; $newpass1 = $_POST["newpass1"]; $newpass2 = $_POST["newpass2"]; $login = $_POST["login"]; require_once "connect.php"; $reponse = mysql_query("SELECT pass FROM utilisateur WHERE login = '$login'"); $donnees = mysql_fetch_array($reponse); //si ancien mot de pass incorrect if ($donnees != $oldpass) {echo 'Votre ancien mot de pass a été mal renseigné';} //si les 2 mdp sont different elseif ($newpass1 != $newpass2) {echo 'Vous avez tapé deux mots de passe différents';} //si oldpass est bon et newpass1 = newpass2 while( $donnees == $oldpass and $newpass1 == $newpass2); $sql = sprintf("UPDATE utilisateur SET pass = $newpass1 WHERE login = '$login'"); GetSQLValueString($newpass1,"text"); GetSQLValueString($login,"text"); $rs = mysql_query($sql) or die ("Erreur : <br/><code>" . $sql . "<code><br/>--<br/>" . "<span class='alert'>" . mysql_error() . "</span>"); function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;} switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; return $theValue; } {echo 'Votre mot de passe à été changé'; } mysql_close($db); ?> </body> </html> et php me renvoi le message :"Votre ancien mot de pass a été mal renseignéVotre mot de passe à été changé " Dernière modification par sef313 ; 18/10/2009 à 15h35. |
|
|
|
|
|
![]() |
||
Formulaire changement de mot de passe php / phpMyAdmin
|
||
| Outils de la discussion | |
|
|