Bonjour à tous,
J'ai un problème pour un script de connexion d'un membre à la ma bdd.
Le problème arrive au niveau du elseif, je pense que les variables ne se remplissent pas et du coup lorsque je me connecte le script me redirige automatiquement vers l'erreur 2 qui est: "Le mot de passe ou l'adresse e-mail n'est pas valide". J'ai essayé avec
J'ai un problème pour un script de connexion d'un membre à la ma bdd.
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=Fontlist', 'root', 'root');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$login =isset($_POST['login']) ? $_POST['login']: '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
$reponse = $bdd->query('SELECT email_membre, mdp_membres FROM Membres WHERE email_membre = '.$login);
if($login =='') {
header('location: session.php?error=1'); //Si le champ d'adresse mail est vide on retourne l'erreur 1 à la page session.
}
elseif($password != $donnees['mdp_membres'] && $login != $donnees['email_membre']) { //Si le mot de passe entré est différent de celui présent dans
header('location: session.php?error=2'); // la bdd à l'adresse mail entrée, alors on retourne l'erreur 2 à la page session.
}
else {
session_start();
$_SESSION['login'] = $login;
$_SESSION['password'] = $password; //Sinon on démarre la session.
$_SESSION['logged'] = true;
header('Location: index.php');
}
?>
Le problème arrive au niveau du elseif, je pense que les variables ne se remplissent pas et du coup lorsque je me connecte le script me redirige automatiquement vers l'erreur 2 qui est: "Le mot de passe ou l'adresse e-mail n'est pas valide". J'ai essayé avec
while ($donnees = $reponse->fetch())
{ ... } $reponse->closeCursor();
Mais ça ne marche pas.. Merci d'avance pour votre aide!
), cela veut dire que la requête SQL compare bien dans les variables dans $_SESSION et celles dans la table de la bdd. Cependant, lorsque je rendre des faux identifiants ou je ne rentre pas de login, le script plante et me laisse sur la page blanche.
..