Bonjour à tous,
Je fais appel à vous car j'ai un petit soucis avec mon code. Je m'explique :
Lorsqu'un membre est connecté, il a la possibilité de changer son mot de passe, cependant, le code contient quelques erreurs.
Voici mon code :
changepassword.php
Code :
- <div align="center">
- <?php
- if (!isset($_SESSION['login']))
- {
- header ('Location: index.php');
- exit();
- }
- $login = htmlentities(trim($_SESSION['login']));
- if (isset($_POST['old_pass']) && isset($_POST['new_pass2']) && isset($_POST['new_pass']))
- {
- $old_pass = $_POST['old_pass'];
- $new_pass2 = $_POST['new_pass2'];
- $new_pass = $_POST['new_pass'];
- $base = mysql_connect ('', '', '');
- mysql_select_db ('suivi des absences', $base);
- if($new_pass == $new_pass2)
- {
- $verif_pass = mysql_query("SELECT password FROM membres WHERE login='".$_SESSION['login']."'" );
- $array_verif_pass = mysql_fetch_array($verif_pass);
- $array_pass = $array_verif_pass['password'];
- if($array_pass == $old_pass)
- {
- mysql_query("UPDATE membres SET password='".mysql_escape_string($new_pass)."' WHERE login='".$_SESSION['login']."'" );
- mysql_close($base);
- }
- echo 'Votre mot de passe a bien été enregistré';
- }
- else
- echo 'les mots de passe ne sont pas identiques';
- }
- else
- echo 'veuillez remplir tous les champs le formulaire';
- ?>
- <form method="post">
- <p><strong><u>Changement de mot de passe</u></strong></p>
- <table >
- <tr>
- <td >Ancien mot de passe</td>
- <td><input type="text" id="old_pass" name="old_pass" /></td>
- </tr>
- <tr>
- <td>Nouveau mot de passe</td>
- <td ><input type="text" id="new_pass" name="new_pass" />
- </td>
- </tr>
- <tr>
- <td>Confirmer le mot de passe</td>
- <td><input type="text" id="new_pass2" name="new_pass2" /></td>
- </tr>
- <tr>
- <td><p> </p>
- </td>
- <td>
- <input type="submit" />
- <input type="reset" />
- </td>
- </tr>
- </table>
- </form>
- <form id="form3" name="form2" method="post" action="parametres.php">
- <div align="center">
- <p><input type="submit" name="Annuler" id="Annuler" value="Retour" /></p>
- </div>
- </form>
- </div>
|
Les erreurs que je rencontre :
1) lorsque je vais sur cette page (changepassword.php), il m'affiche directement "veuillez remplir tous les champs le formulaire", alors que si je rentre exprès que l'ancien mot de passe, il me met comme message d'erreur "les mots de passe ne sont pas identiques".
2) lorsque je tape dans ancien mot de passe un mot de passe bidon, et que je remplis le reste correctement, il me met "votre mot de passe a bien été modifié" alors que quand je me reconnecte, il n'a pas prit la modification. En gros, il ne m'informe pas que ancien mot de passe est différent de ce que j'avais écrit.
Je ne sais pas si j'ai bien été claire, si vous avez des questions, n'hésitez pas !
Merci de bien vouloir m'aider !
Message édité par iOniOn95 le 23-03-2011 à 14:30:19