[PHP] Changer de mot de mot de passe
Résolu
YoshK
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
YoshK Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
YoshK Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaie de réaliser un script qui permettra aux utilisateurs de changer leur mot de passe une fois connectées.
Le problème est qu'à l'envoie du formulaire, même si le message affiché est "votre mot de passe a été modifié avec succès !", le mot de passe inséré dans la BDD a une valeur null.
j'essaie de réaliser un script qui permettra aux utilisateurs de changer leur mot de passe une fois connectées.
Le problème est qu'à l'envoie du formulaire, même si le message affiché est "votre mot de passe a été modifié avec succès !", le mot de passe inséré dans la BDD a une valeur null.
<?php include("base.php"); include("entete.php"); $message = ""; if (isset($_POST['ancienMdp']) && isset($_POST['nouveauMdp']) && isset($_POST['confirmNouveauMdp'])) { $pseudo = $_SESSION['pseudoKey']; $ancienMdp = md5($_POST['ancienMdp']); $nouveauMdp = $_POST['nouveauMdp']; $confirmNouveauMdp = $_POST['confirmNouveauMdp']; if ( $nouveauMdp == $confirmNouveauMdp) { $existe = "SELECT * FROM utilisateur WHERE mdp = '".$ancienMdp."' AND pseudo = '".$pseudo."'"; $result = mysql_query($existe) or die("Probleme avec la requete"); if (mysql_num_rows($result) == 1) { if (strlen($nouveauMdp) < 5) $message = "Le nouveau mot de passe est trop court.<br/>"; else if (strlen($nouveauMdp) > 20) $message .= "Le nouveau mot de passe est trop long.<br/>"; else $mdp = md5($nouveauMdp); mysql_query("UPDATE utilisateur SET mdp='".$mdp."' WHERE pseudo='".$pseudo."'"); $message = "votre mot de passe a été modifié avec succès !"; } else $message = "mot de passe incorecte"; } else $message = "Votre nouveau mot de passe ne corespond pas avec sa confirmation"; } else { $message = "Tous les champs sont obligatoires."; } echo $message; ?> <form method="POST" action="changerMdp.php"> <table> <caption><strong style="color:red;">Changement du mot de passe</strong></caption> <tr> <td> Entrez votre ancien mot de passe: </td> <td> <input type="text" size="30" name="ancienMdp" value="" /> </td> </tr> <tr> <td> Entrez votre nouveau mot de passe: </td> <td> <input type="text" size="30" name="nouveauMdp" value="" /> </td> </tr> <tr> <td> Confirmez votre nouveau mot de passe: </td> <td> <input type="text" size="30" name="confirmNouveauMdp" value="" /> </td> </tr> <tr> <td colspan=2> <input type="submit" value="envoyer"/> </td> </tr> </table> </form> <?php include("piedDePage.php"); ?>
A voir également:
- [PHP] Changer de mot de mot de passe
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Changer dns - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
4 réponses
Bonjour
Tu as (au moins) 2 problèmes :
Dans la requête de mise à jour tu utilises $mdp alors que c'est $nouveauMdp
Il te manque des { } après le else de la mise à jour, seule la 1ère ligne est soumise au else
Tu as (au moins) 2 problèmes :
Dans la requête de mise à jour tu utilises $mdp alors que c'est $nouveauMdp
Il te manque des { } après le else de la mise à jour, seule la 1ère ligne est soumise au else
Pour le 1er probleme , il a fait juste avant l'update : $mdp = md5($nouveauMdp);
Donc je pense pas que ça soit vraiment un problème (a part que ça devient moins clair que de faire le "md5" tout de suite avec $nouveauMdp).
Et en effet sinon il manque les accolades { } au else de la requete "update". ^^'
Donc je pense pas que ça soit vraiment un problème (a part que ça devient moins clair que de faire le "md5" tout de suite avec $nouveauMdp).
Et en effet sinon il manque les accolades { } au else de la requete "update". ^^'