Salut ! j'ai envie de faire un système de login en php mais après plusieurs heures de réflexions je ne parvient pas à créer mon système de login car, je ne sais pas comment faire pour vérifier que l'email correspond bien au password dans la bdd .
J'ai essayé de faire ça : https://paste.ofcode.org/NGdUQi3BTpdjrZy8skxvQt
mais j'ai une erreur et ça ne marche pas du tout .
Merci !
htmlspecialchars() doit être utilisé uniquement à l'affichage des données, SURTOUT PAS à l'enregistrement. Vu que tu fais une requête préparée t'as pas besoin de la sécuriser d'avantage, c'est déjà bon.
Sinon, tu devrais plutôt faire le compte directement dans ta requête :
SELECT COUNT(*) as count FROM topgen_user WHERE email= :email AND password= :password
Et ensuite tu fais un truc du genre (ça fait longtemps que je l'ai plus fais mais ça devrait pas être loin :
$result = $requete->execute(...);
if ($result->count > 0) ...
C’est degeu. Oui comme mon vdd sans le count pour crée une session
Ok merci ! Je vais essayer ça
ça ne marche pas
EDIT: Mon code marchait depuis le début, c'est juste que j'ai un problème au niveau du hash.
à chaque fois j'ai un hash différent pour le même mot de passe . (C'est peut-être parce que j'ai mis une surcouche md5)
Même en enlevant le hash en md5 j'ai toujours ce problème d'avoir plusieurs hash différents pour chaques mdp.
(J'utilise BCRYPT)
EDIT: le problème vient de bcrypt comment faire pour avoir un seul hash par mdp avec bcrypt, sinon comment l'utiliser ? merci
Bon finalement c'est résolu . (Fin pas vraiment mais je peux trouver la solution)