Bonjour,
j'ai crée un formulaire pour modifier le mot de passe des membres.
le code de la formulaire est le suivant:
Code html : 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 <form action="" method="post" name="modifypass" id="modifypass"> <table width="600px" align="center"> <tr> <td><h2><span>Ancien</span> mot de passe</h2></td> <td align="center"><h2>:</h2></td> <td align="center"><input type="password" name="oldpass" id="oldpass" /></td> </tr> <tr> <td><h2><span>Nouveau</span> mot de passe</h2></td> <td align="center"><h2>:</h2></td> <td align="center"><input type="password" name="newpass" id="newpass" /></td> </tr> <tr> <td><h2><span>Confirmer</span> le mot de passe</h2></td> <td align="center"><h2>:</h2></td> <td align="center"><input type="password" name="newpass2" id="newpass2" /></td> </tr> <tr> <td colspan="3" align="center"><button class="btn btn-danger" onclick="document.modifypass.submit();">Modifier</button></td> </tr> </table> <input name="modifier" type="hidden" value="oui" /> </form>
je récupère les variables sur la même page et je fais une comparaison pour vérifier si les deux mots de passe correspondent.
Or, même si je tape le même mot de passe, j'ai toujours le même message:
Les mots de passe ne correspondent pas.
le code de la comparaison est le suivant:
J'ai essayé plusieurs méthodes comme:
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
34
35
36
37
38
39
40
41
42
43
44
45
46 if ( $_POST['modofier']=='oui' ) { $oldpass = $_POST['oldpass']; $newpass = $_POST['newpass']; $newpass2 = $_POST['newpass2']; if($oldpass == NULL || $newpass== NULL || $newpass2 = NULL) { $erreur=1; $msg1 = '<br><br><table width="600px" style="color:white;"> <tbody> <tr><td align="center" bgcolor="#CF1313"><b>Impossible de modifier le mot de passe</b><br>Veuillez remplir tous les champs.</td> </tr> </tbody> </table><br><center><a href="password.php"><h2><span>Retour</span><h2></a></center>'; }else{ if($newpass != $newpass2) { // <-- ICI $erreur=2; $msg2 = '<br><br><table width="600px" style="color:white;"> <tbody> <tr><td align="center" bgcolor="#CF1313"><b>Impossible de modifier le mot de passe</b><br>Les mots de passe ne correspondent pas.</td> </tr> </tbody> </table><br><br><center><a href="password.php"><h2><span>Retour</span><h2></a></center>'; }else{ $row = mysql_fetch_array(mysql_query("select password FROM user where email = '".$_SESSION['member']."'")); if($oldpass !== $row['password']) { $erreur=3; $msg3 = '<br><br><table width="600px" style="color:white;"> <tbody> <tr><td align="center" bgcolor="#CF1313"><b>Impossible de modifier le mot de passe</b><br>L\'ancien mot de passe est incorrecte.</td> </tr> </tbody> </table><br><br><center><a href="password.php"><h2><span>Retour</span><h2></a></center>'; }else{ mysql_query("UPDATE user SET password = '".$newpass."' WHERE email = '".$_SESSION['member']."'"); $erreur=4; $msg4 = '<br><br><table width="600px" style="color:white;"> <tbody> <tr><td align="center" bgcolor="#CF1313"><b>Mot de passe modifié avec succés</b><br>Vous pouvez fermer cette fenêtre.</td> </tr> </tbody> </table>'; } } } }
!==
!===
!=
<>
et j'ai toujours le même message que les mots de passe ne correspondent pas.
Qu'est-ce que je peux mettre à la place du code en rouge ($newpass != $newpass2) pour comparer mes 2 champs de mots de passe ?
Merci beaucoup.
Partager