|
|
|
|
Bonjour,
Je souhaiterai créer un script en php/sql. qui me permettrai au clien de changer leur mot de passe.
Je réussis a créer le code mais je souhaiterai ajouter un message qui previent le membre si il s'est trompé en tappant son mot de passe (pas le le; "attention erreur de login....").
Mais pour sa il faudra demander a sql...
Voila la structure sur laquelle vous appuyez:
Ce qui est en gras pose pbm.
Je pose qu'il faut utiliser mysql_affected_rows() mais je doute.
if (mot de passe bdd=mot de post $_POST[pass])
{
mysql_query("UPDATE accounts SET password='$password' WHERE password='$password'");
}
else
}
echo "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement."
}
Configuration: Windows XP Firefox 2.0.0.13
Si je comprend bien, tu stockes le mot de passe et le login en clair dans la base (il y a mieux niveau sécurité mais la question n'est pas là) et quand l'utilisateur entrera son login et son mot de passe dans le formulaire, tu va faire une requète SQL pour chercher le mot de passe dans la base et le comparer avec celui entré dans le formulaire.
if ($mdp_base==$mdp_form)
{
mysql_query("UPDATE accounts SET password='$mdp_form' WHERE password='$mdp_base'");
}
else
}
echo "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement."
}
Proverbes breton :
Si les mouettes ont pied, il est temps de virer Il vaut mieux être saoul que con, ça dure moins longtemps |
Tu utilises une requête pour récupérer le mot de passe stocker dans la base du genre :
$result = mysql_query("SELECT mdp FROM TaTable WHERE login = 'LOGINUTILISATEUR'");
$row = mysql_fetch_array($result);
$mdp_base = $row[0];
-- Alex pour vous servir --
-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) -- |
Euh... C'est quand même vachement simple là, t'as en tout et pour tout 12 lignes de code, si seulement tout pouvais être aussi simple...
$result = mysql_query("SELECT mdp FROM ta_table WHERE login = 'login_testé'");
$result = mysql_fetch_array($result);
$mdp_base = $result['mdp'];
if ($mdp_base==$mdp_form)
{
mysql_query("UPDATE accounts SET password='$mdp_form' WHERE password='$mdp_base'");
}
else
}
echo "Attention votre mot de passe ne correspond pas a celui que vous avez définie lors de votre enregistrement."
}
Proverbes breton :
Si les mouettes ont pied, il est temps de virer Il vaut mieux être saoul que con, ça dure moins longtemps |
Ton code est correct sa ne m'affiche aucune erreur.
|
La page index.php
|
En fait je ne comprend plus très bien ce que tu veux : je croyais que tu voulais que les utilisateur puissent modifier leur password. Ce n'est pas du tout ce que tu fais dans ce script
|
Bonjor,
$mdp_base = $result['gm']; if ($mdp_base==$password)... Tu lui dis que $mdp_base correspond à ton GM contenu dans la base, or il y a 1 ou 2 posts tu disais que ton GM était un chiffre... Or ensuite tu cherche si ce chiffre est égal au mot de passe entré dans le formulaire par l'utilisateur... Cette condition ne pourra jamais être remplie, sauf si un utilisateur utilise comme mot de passe 1, 2 ou 3 ou... Le if ne pouvant jamais être vérifié, tu n'entrera jamais dans celui-ci et tu ne fera jamais ton UPDATE et donc tu n'aura jamais de changement dans ta base. Désolé mais c'est ce que j'ai compris et je en pense pas que c'est ce que tu veuille faire. Tu veux pas donner un EXEMPLE PRECIS avec ce que les gens entrent dans le formulaire, ce que tu veux Proverbes breton : Si les mouettes ont pied, il est temps de virer Il vaut mieux être saoul que con, ça dure moins longtemps |
Les gens gens rentre dans le formulaire leur password et quand il cliqueron sur changer gm (bouton valider), il montera de grade.
|