Récupération mot de passe/ généré une clé unique
challenger11
Messages postés
16
Statut
Membre
-
ludo1325 Messages postés 175 Statut Membre -
ludo1325 Messages postés 175 Statut Membre -
Bonjour,
Je veux réaliser un script pour récupérer un mot de passe oublié. Je bloque dans la parti de génération du clé , en effet j'arrive pas à insérer la clés dans ma base de données voici mon code pour cette partie :
Il m'affiche cette erreur :Erreur SQL ligne 22 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
c'est à dire dans cette requête:
Je veux réaliser un script pour récupérer un mot de passe oublié. Je bloque dans la parti de génération du clé , en effet j'arrive pas à insérer la clés dans ma base de données voici mon code pour cette partie :
<?php
mysql_connect('localhost','root','');
mysql_select_db('utilisateur');
if (isset($_POST['envoyer'])&&(!empty($_POST['email'])))
{
$email = $_POST['email'];
$sql = "SELECT id, pseudo, email FROM users WHERE email='".mysql_real_escape_string($email)."' LIMIT 1" ;
$res = mysql_query($sql)or exit('Erreur SQL ligne '.__LINE__.' : '.mysql_error());
if (@mysql_num_rows($res)!=1) die('Email inconnu');
$row = mysql_fetch_assoc($res);
$pseudo = $row['pseudo'];
$umail = $row['email'];
$uk=$row['id'];
//généré une clé unique
$key = sha1(uniqid(rand()));
$sql = 'UPDATE users SET keys="'.$key.'" WHERE id="'.$uk.'"';
$res = mysql_query($sql)or exit('Erreur SQL ligne '.__LINE__.' : '.mysql_error()) ;
}
?>
<html>
<head></head>
<body>
<form name="f" method="post">
<fieldset>
<legend>Mot de passe oublié ?</legend>
<label for="email">Email</label>
<input name="email" placeholder="Mail@domain.com" type="email"><br>
<input name="envoyer" type="submit" value="envoyer">
</fieldset>
</form>
</body>
</html>
Il m'affiche cette erreur :Erreur SQL ligne 22 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
c'est à dire dans cette requête:
$sql = 'UPDATE users SET keys="'.$key.'" WHERE id="'.$uk.'"';
A voir également:
- Récupération mot de passe/ généré une clé unique
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Clé usb non détectée - Guide
- Mot de passe bios perdu - Guide
1 réponse
Bonjour,
la requête fonctionne correctement chez moi.
Si ce n'est pas déjà fait, vérifie dans ta base le type du champ keys.
- Vérifie que la variable $uk contiennent bien un identifiant
- Vérifie que la valeur de $key correspondent bien au type du champ dans la base, (le mieux d'après moi serait un VARCHAR).
J'ai par contre essayé avec une instance de PDO
la requête fonctionne correctement chez moi.
Si ce n'est pas déjà fait, vérifie dans ta base le type du champ keys.
- Vérifie que la variable $uk contiennent bien un identifiant
- Vérifie que la valeur de $key correspondent bien au type du champ dans la base, (le mieux d'après moi serait un VARCHAR).
J'ai par contre essayé avec une instance de PDO