Impossible de modifier mon mot de passe

Résolu
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - Modifié par jordane45 le 24/07/2014 à 09:46
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - 24 juil. 2014 à 11:51
Bonjour,
je veux créer un formulaire de modification de mot de passe .
après exécution de mon code je reçois :
Ancien mot de passe non valide

voici mon code :
1. modiff_pass.php

<html>
<h2>Modifier le mot de passe</h2>
<form method="post" action="index.php?page=modif_pass2">
Login : <input type="text" name="login">
Ancien mot de passe : <input type="password" name="pass_old">
Nouveau mot de passe : <input type="password" name="new_pass">
Confirmation : <input type="password" name="new_pass_conf">
<input type="submit" name="Submit" value="Valider">
</form>
</body>
</html>


2. modiff_pass2.php

<?php
session_start();
if (!isset($_SESSION['pseudo'])) {
 header ('Location: index.php?page=BIENVENUE');
 exit();
}

  if (isset($_POST['Submit']) && $_POST['Submit'] == 'Valider') {
    $user = $_POST['login'];
 $new_pass = $_POST['new_pass'];
 $pass_old = $_POST['pass_old'];
 $new_pass_conf = $_POST['new_pass_conf'];
 //$base = mysql_connect ('localhost', bduser', 'bdpass');
   //mysql_select_db ('bdname', $base);
// tu récupère l'ancien mot de passe dans la bdd
$sql = mysql_query("SELECT password FROM utilisteurs WHERE pseudo = '".$user."' ");
list($password) = mysql_fetch_array($sql);
 
// tu compare si le nouveau passe correspond à l'ancien
if ($new_pass == $new_pass_conf)
{
 
 
    //tu vérifie si il sont identique
    if ($password == $pass_old)
    {
        //si oui tu update et encrypte le nouveau mot de passe dans la bdd
 
        $pass   = $new_pass;  
 
        $query  = mysql_query("UPDATE utilisteurs SET password = '".$pass."' WHERE pseudo  = '".$user."' ");
 
        echo "Merci, le mot de passe à été changé.";
    }
    else
    {
        echo "Ancien mot de passe non valide";
    }
}
else
{
    echo "Mot de passe de confirmation incorrect, recommencez SVP";
}
}
?>


NB: mon mot de pass est est md5

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
Modifié par jordane45 le 24/07/2014 à 12:15
après exécution de mon code je reçois :
Ancien mot de passe non valide

C'est donc que ton IF n'est pas vérifié...
    if ($password == $pass_old)


Que valent tes variables ? Tu as fais des Echo pour le savoir ???

PS: si le password contenu en BDD est en MD5....il faut que le password que tu souhaites comparé...soit aussi en MD5... sinon ça ne marchera jamais!

Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 1
24 juil. 2014 à 11:51
merci a passe !!! il fallait comme tu l'as dit que le pass soit en MD5
0
Rejoignez-nous