zhangxdfr

Inscris le 17/07/2014 à 13:57
  • Nombre de sujets
    1
  • Nombre de messages
    3
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

zhangxdfr
le 17/07/2014 à 14:12
Souci avec mon code modifier mot de passe
Bonjour,

J'ai un souci avec mon code. Je voudrais que les membres puissent modifier leur mot de passe qui est en md5. mais quand je veux changer le mot de passe, le mot de passe ne change pas dans la base de données. le message d'erreur s'affiche"Ancien mot de passe non valide". Merci de m'aider. Voilà mon code :
<<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');

exit();
}
?>
<?php
if (isset($_POST['Submit']) && $_POST['Submit'] == 'Valider') {
$login = $_POST['login'];
$pass_old = $_POST['pass_old'];
$new_pass = $_POST['new_pass'];
$new_pass_conf = $_POST['new_pass_conf'];
$base = mysql_connect ('xxxxxx', 'xxxxxx', 'xxxxxx');
mysql_select_db ('xxxxxx', $base);
// tu récupère l'ancien mot de passe dans la bdd
$sql = mysql_query("SELECT pass_md5 FROM membre WHERE login = '".$_SESSION['login']."'");
list($pass) = mysql_escape_string($sql);

// tu compare si le nouveau passe correspond à l'ancien
if ($new_pass == $new_pass_conf){
$erreur = 'Les 2 mots de passe sont diff&eacute;rents.';

// tu encrypte l'ancien mot de passe du formulaire pour le comparer à celui de ta bdd
$pass_old = md5($pass_old);

//tu vérifie si il sont identique
if ($pass == $pass_old)
{
//si oui tu update et encrypte le nouveau mot de passe dans la bdd

$new_pass = md5($new_pass);

$sql= "UPDATE membre SET pass_md5 ='" .$new_pass. "' WHERE login ='".$_SESSION['login']."'";

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";
}
}
?>>
LoadingChargement en cours