Bonjour,
J'ai écrit ce script pour permettre à un utilisateur de changer son mot de passe:
Le problème était qu'il ne se passe rien si toute les conditions sont remplies.
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 <?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."); } ?>
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.
Partager