Impossible de modifier mon mot de passe [Résolu]

Signaler
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
-
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
-
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

Messages postés
32951
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 juin 2021
351
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
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
merci a passe !!! il fallait comme tu l'as dit que le pass soit en MD5