Modifier mot de passe espace membre php
Résolu
hraph
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
hraph Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
hraph Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voulais créer une page php pour permettre aux utilisateur de pouvoir modifier leur mot de passe de l'espace membre. J'ai crée ce script en m'inspirant d'internet mais je ne comprends pas l'erreur php : "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource" Merci.
voici le code
sur la première page de la modification : (pass-modif.php)
et sur la page php : (pass-modif-2.php)
Je voulais créer une page php pour permettre aux utilisateur de pouvoir modifier leur mot de passe de l'espace membre. J'ai crée ce script en m'inspirant d'internet mais je ne comprends pas l'erreur php : "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource" Merci.
voici le code
sur la première page de la modification : (pass-modif.php)
<html> <h2>Modifier le mot de passe</h2> <form method="post" action="pass-modif-2.php"> 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>
et sur la page php : (pass-modif-2.php)
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } ?> <?php 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 pass FROM admin WHERE login = ' . $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 admin SET pass = ' . $pass . ' WHERE login = ' . $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"; } } ?>
A voir également:
- Modifier mot de passe espace membre php
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Espace insécable - Guide
3 réponses
$sql = mysql_query('SELECT pass FROM admin WHERE login = ' . $user .'');
$user est une chaine de caractère donc il te manque des quotes
$sql = mysql_query("SELECT pass FROM admin WHERE login = '" . $user ."'");
même remarque pour la requete UPDATE un peu plus bas
hraph
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
merci beaucoup, ça marche. c'était donc ça qui faisait tout foirer !