bonjour,
j'essaie actuellement de faire un système de mot de passe oublié mais je me heurte a la requete d'UPDATE qui ne fonctionne pas.
actuellement j'arrive bien a générer un token, a l'envoyer a l'utilisateur par mail,le rediriger vers la page pour reinitialiser le mot de passe.
la ou j'ai un soucis,c'est que mon update ne fonctionne pas (pas de message d'erreur) je rentre le mot de passe et sa confirmation ,et rien ne se passe au niveau de la table après refresh.
voici le code de la page:
et voici le var_dump($user);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 <?php session_start(); if(isset($_GET['email']) && isset($_GET['token'])){ $email=htmlspecialchars(trim($_GET['email'])); require_once("../connexionMysql.inc.php"); $req = $pdo->prepare('SELECT * FROM userss WHERE email = ? AND reset_token = ? AND reset_time > DATE_SUB(NOW(), INTERVAL 30 MINUTE)') ; $req->execute([$_GET['email'], $_GET['token']]); $user=$req->fetch(); var_dump($user); if ($user){ if(!empty($_POST)){ if (!empty($_POST['password']) && ($_POST['password'] == $_POST['password_confirm'])){ $password=sha1 ($_POST['password']); $sql=('UPDATE userss SET password =:password, reset_time=NULL, reset_token=NULL WHERE email =:email'); $req=$pdo->prepare($sql); $req->execute(array( ':email'=>$email, ':password'=>$password ) ); echo 'votre mot de passe a bien été modifié'; } } } else { echo ' ce token n\est pas valide!' ; exit(); } } else { header("Location:login.php"); exit(); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form id="monform" name="form1" method="post" action="Reset.php"> <div align="center"><font color="#000000" < p> <label>Mot de passe : <input type="password" name="password" /> </label> </p> <p> <label> Confirmer le mot de passe : <input type="password" name="password_confirm" /> </label> </p> <input type="submit" name="bouton" value="Reinitialiser votre mot de passe" /></br></br> </div> </form> </body> </html>merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 array (size=16) 'ID' => string '1' (length=1) 0 => string '1' (length=1) 'prenom' => string 'steph' (length=5) 1 => string 'steph' (length=5) 'email' => string xxxxxxxxx@orange.fr' (length=9) 2 => string xxxxxxxxx@orange.fr' (length=9) 'password' => string 'da39a3ee5e6b4b0d3255bfef95601890afd80709' (length=40) 3 => string 'da39a3ee5e6b4b0d3255bfef95601890afd80709' (length=40) 'token' => string 'c200645018f56b3dcc75f91f0b0d293a99df10de' (length=40) 4 => string 'c200645018f56b3dcc75f91f0b0d293a99df10de' (length=40) 'reset_token' => string 'e26b55950032f0fe3948ebe0555d9cb5cebf4121' (length=40) 5 => string 'e26b55950032f0fe3948ebe0555d9cb5cebf4121' (length=40) 'reset_time' => string '2015-06-28 17:06:07' (length=19) 6 => string '2015-06-28 17:06:07' (length=19) 'activate' => string '1' (length=1) 7 => string '1' (length=1)
Partager