Problème vérification des logins
Résolu
Jacksons
Messages postés
18
Statut
Membre
-
Jacksons Messages postés 18 Statut Membre -
Jacksons Messages postés 18 Statut Membre -
Bonjour,
J'ai un petit problème. Je veux vérifier la correspondance du login entré par l'utilisateur avec celui présent dans ma base de données PHPmyadmin.
Lorsque les pseudos et mots de passe correspondent, ça marche nickel.
Par contre lorsque ça correspond pas la condition ne marche pas, je ne comprend pas pourquoi. Voici le bout de code qui foire :
Merci d'avance !
J'ai un petit problème. Je veux vérifier la correspondance du login entré par l'utilisateur avec celui présent dans ma base de données PHPmyadmin.
Lorsque les pseudos et mots de passe correspondent, ça marche nickel.
Par contre lorsque ça correspond pas la condition ne marche pas, je ne comprend pas pourquoi. Voici le bout de code qui foire :
<?phpPourquoi mon if ne marche pas ?
$reponse = $bdd->query("SELECT pseudo, mdp FROM membres WHERE pseudo = '".$_POST['pseudo']."' AND mdp = '" . md5($_POST['pass']) . "'");
while ($donnees = $reponse->fetch())
{
if($_POST['pseudo'] != $donnees["pseudo"] OR md5($_POST['pass'])!= $donnees["mdp"])
{
echo "Ce compte n'existe pas !";
}
else
{
echo "Connexion réussie !";
}
}
?>
Merci d'avance !
A voir également:
- Problème vérification des logins
- Vérificateur des fichiers système - Guide
- Verification windows 11 - Guide
- Verification lien internet - Guide
- Ce logiciel gratuit répare automatiquement votre PC quand Windows a des problèmes - Guide
- Sfc /scannow : réparer les fichiers système de Windows 10 - Guide
2 réponses
Merci beaucoup pour ton aide, ta proposition marche à merveille.
Je suis plutôt débutant donc c'est vrai que j'en chie pas mal pour ce genre de truc.
Je ne connaissais pas rowcount ! Et effectivement retourner le nombre de ligne (1 donc) correspondant aux entrées du formulaire est exactement ce dont j'avais besoin.
Merci!
Je suis plutôt débutant donc c'est vrai que j'en chie pas mal pour ce genre de truc.
Je ne connaissais pas rowcount ! Et effectivement retourner le nombre de ligne (1 donc) correspondant aux entrées du formulaire est exactement ce dont j'avais besoin.
Merci!
Salut,
Quand la requête possède des paramètres en entrés, on utilise les requêtes préparés pour plus de sécurité.
Ton pseudo est supposé être un identifiant, donc unique, donc ta requête est supposé retourner au plus 1 résultat, donc pas besoin d'une boucle.
Tu n'as pas besoin de faire une seconde vérification de correspondance entre les pseudos, et les mot de passes, tu en as déjà fait une dans la requête, or, si la requête retourne un résultat, ça veut dire que le pseudo et le mot de passe correspondent.
Quand la requête possède des paramètres en entrés, on utilise les requêtes préparés pour plus de sécurité.
Ton pseudo est supposé être un identifiant, donc unique, donc ta requête est supposé retourner au plus 1 résultat, donc pas besoin d'une boucle.
Tu n'as pas besoin de faire une seconde vérification de correspondance entre les pseudos, et les mot de passes, tu en as déjà fait une dans la requête, or, si la requête retourne un résultat, ça veut dire que le pseudo et le mot de passe correspondent.
<?php
$reponse = $bdd->prepare("SELECT pseudo FROM membres WHERE pseudo = :ps AND mdp = :md");
$reponse->bindParam(':ps', $_POST['pseudo'], PDO::PARAM_STR);
$reponse->bindParam(':md', md5($_POST['pass']), PDO::PARAM_STR);
$reponse->execute();
$nbrDeResultat = $reponse->rowCount();
if($nbrDeResultat == 0) {
echo "Ce compte n'existe pas !";
}
else {
echo "Connexion réussie !";
}
?>