Formulaire de changement de mot de passe php

Fermé
XdelevophpX - 19 avril 2013 à 14:29
 XdevelophpX - 21 avril 2013 à 20:22
Bonjour , je suis débutant en php et donc voila je tourne en rond depuis un bon momment à chercher comment faire en sorte que les utilisateurs inscrits sur mon site puissent changer leurs mot de passe.

En gros , je cherche un formulaire de changement de mdp en php .

Merci .
A voir également:

10 réponses

Jai essayer de le faire mais j'obtient ce message :
Parse error: syntax error, unexpected T_STRING in

Voici la page formulaire :
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: membre.php');
exit();
}
?>
<html>
<body>
<form method="post" action="traitement.php">
Nouveau mot de passe : <input type="password" name="new_pass">
Confirmation : <input type="password" name="new_pass_conf">
Ancien mot de passe : <input type="password" name="pass_old">
<input type="submit" name="Submit" value="Valider">
</body>
</html>
--------------
Voici la page de traitement :
<?php

$base = mysql_connect ('localhost', 'utilisateur', 'Mon MDP');
mysql_select_db ('Ma base de données', $base);

// tu récupère l'ancien mot de passe dans la bdd
$sql = mysql_query("SELECT pass_md5 FROM membre WHERE id = " . $id[id] .");
list($pass_md5) = mysql_fetch_array($sql);

// tu compare si le nouveau passe correspond à l'ancien
if ($new_pass == $new_pass_conf)
{
// 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-md5 == md5($pass_old)
{
//si oui tu update et encrypte le nouveau mot de passe dans la bdd

$pass-md5 = md5($new_pass);

$query = mysql_query("UPDATE membre SET pass_md5 = '" . $pass_md5 . "' WHERE id = " . $id[id] .");

echo "mot de passe changé";
}
else
{
echo "Ancien mot de passe non valide";
}
}
else
{
echo "Mot de passe de confirmation incorrecte";
}
?>

SVP je comprend pas
1
Jai 3 tables dans ma base de donné :
-id
-login
-pass_md5
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
21 avril 2013 à 16:01
Quelle ligne l'erreur ?
0
Utilisateur anonyme
21 avril 2013 à 16:59
$id[id] n'est pas déclaré?
0
Je vais vous dire ...
0
Ligne 23
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
19 avril 2013 à 14:52
Salut !

Si tu as fait l'inscription, c'est le même principe ;-)
0
si ta leur email dans une db, renvois un message avec un lien spécial (avec un code hash MD5 ou SHA)
après tu renvois le liens vers un formulaire pour changer le mot de pass ;-)
0
Utilisateur anonyme
20 avril 2013 à 00:09
Bonsoir,
tu peux généré un nouveau mot de passe que tu envois par mail.

Par la suite la personne en se connectant peux changer son mot de passe.

On peut même l'y obliger par exemple en créer une colonne "pass_changer".
0 par défaut et 1 si modifié.

Quand tu envois le nouveau mot de passe la valeur passe à 1.

On vérifié à la connexion si c'est égal à 1, si oui on redirige l'utilisateur vers la page de changement de mot de passe.

Une fois le mot de passe changer, on repasse pass_changer à la valeur par défaut (0).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
re bonjour , ca m'aide pas du tout . Je veut juste un formulaire de changement mdp en php .
0
Utilisateur anonyme
20 avril 2013 à 13:12
Le formulaire dépends de ce que tu as dans ta base de donnée et de tes scripts.

Un formulaire et un traitement php n'est pas le même pour tout le monde.

Le mieux serait que tu apprennes le php
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
21 avril 2013 à 00:46
Tu fais un formulaire ou le mec dis son ancien mdp, son nouveau et la confirmation de sous nouveau.

Ensuite en PHP tu vérifie si l'ancien mdp correspond à celui en BDD, si oui tu le remplace par le nouveau.
0
Problème à la ligne 23
0
Nyctaclope Messages postés 5315 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 11 décembre 2022 1 253
Modifié par Nyctaclope le 21/04/2013 à 17:42
Bonjour
Une accolade de trop, me semble-t-il
else
{
echo "Ancien mot de passe non valide";
}
}<==
else ....

Nyctaclope
0
Ca me fait toujours le meme probleme
0
Utilisateur anonyme
21 avril 2013 à 17:57
Nan l'accolade n'est pas en trop.

$query = mysql_query("UPDATE membre SET pass_md5 = '".$pass_md5."' WHERE id = '".$id[id]."'");


Comme ça, ça ne va pas mieux?
0
Je vais voir ca ...
0
Toujours pareil je comprend pas.
0