Bonjour !
J'ai créé un espace membre. J'ai donc fait une page pour modifier des informations, notamment le mot de passe. Mais pour éviter que n'importe qui ayant pu accéder au compte (la personne n'aurait pas déco et quelqu'un serait passé derrière par exemple) puisse changer le mot de passe comme il veut, je voudrais que l'utilisateur rentre son mot de passe actuel et qu'à l'envoie du formulaire, ce mot de passe soit comparé avec celui stocké dans la base de données.
Problème : le mot de passe du formulaire n'est pas crypté, celui de la base de données, si, en md5.
J'ai alors fait cette tentative :
Quand je teste, voilà ce que j'obtiens :
"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 '"3' at line 1"
Je dois dire que je ne comprends absolument pas ce que ça raconte (pas que je comprenne pas l'anglais, mais la fin est très confuse pour moi). Et en faisant des recherches, ça dit pourtant que c'est comme cela qu'il faut faire. Je ne comprends donc pas pourquoi ça ne marche et qu'il me sort cette phrase incompréhensible pour moi ^^"
Une explication pour éclairer ma lanterne ?
Modifié par tatsu (09 Mar 2009 - 10:53)
J'ai créé un espace membre. J'ai donc fait une page pour modifier des informations, notamment le mot de passe. Mais pour éviter que n'importe qui ayant pu accéder au compte (la personne n'aurait pas déco et quelqu'un serait passé derrière par exemple) puisse changer le mot de passe comme il veut, je voudrais que l'utilisateur rentre son mot de passe actuel et qu'à l'envoie du formulaire, ce mot de passe soit comparé avec celui stocké dans la base de données.
Problème : le mot de passe du formulaire n'est pas crypté, celui de la base de données, si, en md5.
J'ai alors fait cette tentative :
if(isset($_POST['mdp_old']))
{
$mdp_old = md5($_POST['mdp_old']);
$mdp_v = $_SESSION['membre_mdp'];
//suite du code...
}
Quand je teste, voilà ce que j'obtiens :
"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 '"3' at line 1"
Je dois dire que je ne comprends absolument pas ce que ça raconte (pas que je comprenne pas l'anglais, mais la fin est très confuse pour moi). Et en faisant des recherches, ça dit pourtant que c'est comme cela qu'il faut faire. Je ne comprends donc pas pourquoi ça ne marche et qu'il me sort cette phrase incompréhensible pour moi ^^"
Une explication pour éclairer ma lanterne ?

Modifié par tatsu (09 Mar 2009 - 10:53)