Script pour changer un mot de passe
Bonjour,
J'ai écrit ce script pour permettre à un utilisateur de changer son mot de passe:
Code:
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
| <?php
$pdo=new PDO('mysql:host=localhost;dbname=projet', 'root','') ;
if(!$pdo)
{
die('Connexion impossible : ' . mysql_error().' <br>');
}
if (isset($_POST["amp"]))
{
if ($_POST["nmp1"] == $_POST["nmp2"])
{
$amp=$_POST["amp"];
$nmp1=$_POST["nmp1"];
$nmp2=$_POST["nmp2"];
$sql="SELECT * FROM membre WHERE pseudo ='".$_SESSION["pseudo"]."'";
foreach ($pdo->query($sql) as $row)
{
if($amp==$row['password'] && $nmp1==$nmp2)
{
$requete="UPDATE membre SET password = '".$nmp1."' WHERE membre.pseudo ='".$_SESSION['pseudo']."' LIMIT 1";
$pdo->query($requete);
echo("Votre mot de passe a été changé avec succès.");
}
else echo("Votre ancien mot de passe n'est pas correct.");
}
}
else echo("Vos deux nouveaux mot de passe ne sont pas identiques.");
}
?> |
Le problème était qu'il ne se passe rien si toute les conditions sont remplies.
La requête SQL fonctionne, il rentre dans ma condition. Est-ce un problème de query?
Je ne sais pas quoi faire.
D'avance merci.