Session petit souci

xander18 Messages postés 78 Statut Membre -  
xander18 Messages postés 78 Statut Membre -
Voici mon problème, j'ai une session membre qui se crée lors du login d'un membre.
j'affiche un message d'erreur si les identifiant sont pas bon
sinon je connecte le membre.

mon problème est que quoi que je rentre sa me met mauvais identifiant.
or si je change ma condition dans mon if et je met la condition inverse sa me connecte qu'importe les identifiants erronées
voici mon code :

<?php
require("session.class.php");
$Session = new Session();
if(!empty($_POST))
{
  $valid = true;
  extract($_POST);

  if($valid)
  {
  try{
  $bdd = new PDO('mysql:host=localhost;dbname=oldschoolgen', 'root','') or die(print_r($bdd->errorInfo()));
  $bdd->exec('SET NAMES utf8');
  }

  catch(Exeption $e){
  die('Erreur:'.$e->getMessage());
  }

$req = $bdd->prepare('SELECT * FROM membres WHERE email=:email AND password=:password');
  $req->execute(array(
    'email'=>$email,
    'password'=>sha1($password)
  ));
  $data = $req->fetch();
  if (!$data)
  {    $Session->setFlash('Mauvais identifiant veuillez réessayer','error');

    // message d'alerte
   
  }else{
    // message d'alerte
        $_SESSION['membre'] = $email;
    $Session->setFlash('Identification réussie','success');
        }

    }

}
header('Location: index.php');
?>

2 réponses

jaky1212 Messages postés 143 Statut Membre 8
 
Tu peux tester avec ca :

if(isset($email) && isset($password))
{
$req->execute(array(
'email' => $email,
'password' => sha1($password)
));
$data = $req->fetch(PDO::FETCH_ASSOC);
if (count($data) > 0)
{

// message d'alerte
$_SESSION['membre'] = $email;
$Session->setFlash('Identification réussie', 'success');
}
else
{
$Session->setFlash('Mauvais identifiant veuillez réessayer', 'error');
}
}
else
{
echo "paramètre manquant";
}
0
xander18 Messages postés 78 Statut Membre 2
 
<?php
require("session.class.php");
$Session = new Session();
if(!empty($_POST))
{
$valid = true;
extract($_POST);

if($valid)
{
try{
$bdd = new PDO('mysql:host=localhost;dbname=oldschoolgen', 'root','') or die(print_r($bdd->errorInfo()));
$bdd->exec('SET NAMES utf8');
}

catch(Exeption $e){
die('Erreur:'.$e->getMessage());
}
if(isset($email) && isset($password))
{
$req = $bdd->prepare('SELECT * FROM membres WHERE email=:email AND password=:password');
$req->execute(array(
'email' => $email,
'password' => sha1($password)
));
$data = $req->fetch(PDO::FETCH_ASSOC);
if (count($data) > 0)
{

// message d'alerte
$_SESSION['membre'] = $email;
$Session->setFlash('Identification réussie', 'success');
}
else
{
$Session->setFlash('Mauvais identifiant veuillez réessayer', 'error');
}
}
else
{
echo "paramètre manquant";
}
}
}
header('Location: index.php');
?>

toujours le même soucis sauf l'inverse cette fois j'ai toujours la connexion et jamais le message d'erreur même si je rentre des mauvais login
0