requete qui ne fonctionne pas,sans message d'erreur
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:
Code:
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> |
et voici le var_dump($user);
Code:
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) |
merci