Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Bonjour à tous.
Encore un petit soucis de Noob pour moi..
J'aimerais vérifier l'user et le mot de passe de ma base de données pour une connexion.
Cependant j'ai toujours le message "Vérifiez vos identifiants".
Je bloque depuis ce matin.. Ne faite pas trop attention au bordel c'est juste une page d'entrainement , j'apprend encore actuellement 😂
<?php
// 1 On verifie que le formulaire est valide
if(isset($_POST['connectForm']))
{
$usernameConnect = htmlspecialchars($_POST['usernameConnect']);
$passwordConnect = password_hash($_POST['passwordConnect'], PASSWORD_DEFAULT);
//2 On verifie que les champs ne sont pas vide
if(!empty($_POST['usernameConnect']) AND !empty($_POST['passwordConnect']))
{
//3 On verifie que l'utilisateur et le mot de passe entré existent
$requser = $bdd -> prepare('SELECT * FROM utilisateurs WHERE username = ? AND password = ?');
$requser -> execute(array($usernameConnect, $passwordConnect));
$userExiste = $requser -> rowCount();
//4 Si l'utilisateur existe alors
if($userExiste == 1)
{
$msgErreur ="YES";
}
//4
else
{
$msgErreur = ' Verifiez vos identifiant !';
}
}
//2
else
{
$msgErreur ='Veuillez completez les champs !';
}
}
// 1
else
{
echo '';
}
?>
Hello @DimitriAFC,
D’abord, assures-toi que tes mots de passe sont stockés dans la base de données à l’aide de la fonction password_hash()
. (Voir la documentation concernant password_hash()
).
Supposons que les identifiants de l’utilisateur proviennent d’une requête POST, voici le code dont tu as besoin :
<?php
$query = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$query->execute([$_POST['email']]);
$user = $query->fetch();
if ($user && password_verify($_POST['pass'], $user['pass']))
{
echo "Identifiant valide !";
}
else
{
echo "Identifiant invalide !";
}
?>
J'espère que cela pourra t'aider à te mettre sur la voie 😉
ça marche, j'attendais juste ta réponse ! 😃
Encore merci !
Re:
Pas de soucis ! 😁
Je suis ravis d'avoir pu résoudre ton problème, si tu n'as plus de problèmes, tu peux mettre le topic en "Résolu" 😁
Hello @Jerem971, que dire.. Encore une fois merci ! Tout simplement ! Avec t'es explications je me rend compte que j'ai voulu aller trop vite et que j'aurais du faire au plus simple ! En effet, c'était le password_verify
. Comme je ne verifie pas le mot de passe entré avec celui qui est stocké dans ma BDD mon scripte annonce une erreur !
Encore merci, ça fonctionne très bien.
Hello @DimitriAFC,
D’abord, assures-toi que tes mots de passe sont stockés dans la base de données à l’aide de la fonction password_hash()
. (Voir la documentation concernant password_hash()
).
Supposons que les identifiants de l’utilisateur proviennent d’une requête POST, voici le code dont tu as besoin :
<?php
$query = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$query->execute([$_POST['email']]);
$user = $query->fetch();
if ($user && password_verify($_POST['pass'], $user['pass']))
{
echo "Identifiant valide !";
}
else
{
echo "Identifiant invalide !";
}
?>
J'espère que cela pourra t'aider à te mettre sur la voie 😉