Verifier le login et le mot de passe pour l'accès
DalJaam
Messages postés
2
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous.
je souhaites vérifier si l'utilisateur à bien rentre un bon adresse émail et le mot de passe après inscription pour se connecter.
avec ce code:
1- si l'utilisateur entre le bon adresse émail et mot de passe, il se connecte.
2- Mais si l'utilisateur entre un mauvais adresse émail et mot de passe, une page blanche apparait.
Or avec le else dans le code cela devrait afficher normalement:
Merci de m'aider à trouver le problème.
je souhaites vérifier si l'utilisateur à bien rentre un bon adresse émail et le mot de passe après inscription pour se connecter.
avec ce code:
<?php
// On vérifie si toutes les données ont été bien envoyé
if (!empty($_POST['adresse_email']) AND !empty($_POST['password']))
{
// Si oui on se connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('SELECT prenom, nom FROM inscription WHERE adresse_email=? AND password=? ');
$req->execute(array($_POST['adresse_email'], $_POST['password']));
while ($donner=$req->fetch())
{
echo '<strong>Bonjour</strong> '.$donner['prenom'],$donner['nom'];
}
}
// Si non affiche un message d'erreur
else
{
echo ' Adresse email ou mot de passe invalide ';
}
$req->closeCursor();
?>
1- si l'utilisateur entre le bon adresse émail et mot de passe, il se connecte.
2- Mais si l'utilisateur entre un mauvais adresse émail et mot de passe, une page blanche apparait.
Or avec le else dans le code cela devrait afficher normalement:
<?php
else
{
echo ' Adresse email ou mot de passe invalide ';
}
$req->closeCursor();
?>
Merci de m'aider à trouver le problème.
A voir également:
- Verifier le login et le mot de passe pour l'accès
- Trousseau mot de passe iphone - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Identifiant et mot de passe - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
1 réponse
Bonjour
Ton 'else' ne correspond pas à une mauvais adresse email ou à un mauvais mot de passe. Il correspond au if (!empty... qui teste si le formulaire a été rempli et non pas ce qu'il y a dedans.
C'est le résultat du SELECT qui te rend quelqu'un si les identifiants font corrects ou pas : il te rend une réponse ou aucune.
Pour tester s'il y a une réponse, il faut voir si le fetch te renvoie une ligne (il y a quelqu'un) ou false (il n'y a personne). Il faut donc utiliser un if plutôt qu'un while :
Quant au else que tu as déjà mis, tu devrais remplacer le message par "Veuillez remplir le formulaire" ou quelque chose comme ça
Ton 'else' ne correspond pas à une mauvais adresse email ou à un mauvais mot de passe. Il correspond au if (!empty... qui teste si le formulaire a été rempli et non pas ce qu'il y a dedans.
C'est le résultat du SELECT qui te rend quelqu'un si les identifiants font corrects ou pas : il te rend une réponse ou aucune.
Pour tester s'il y a une réponse, il faut voir si le fetch te renvoie une ligne (il y a quelqu'un) ou false (il n'y a personne). Il faut donc utiliser un if plutôt qu'un while :
if ($donner=$req->fetch())
{
echo '<strong>Bonjour</strong> '.$donner['prenom'],$donner['nom'];
}
else {
echo ' Adresse email ou mot de passe invalide ';
}
Quant au else que tu as déjà mis, tu devrais remplacer le message par "Veuillez remplir le formulaire" ou quelque chose comme ça