Session petit souci

Fermé
xander18 Messages postés 68 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 21 janvier 2015 - 26 févr. 2013 à 23:32
xander18 Messages postés 68 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 21 janvier 2015 - 4 mars 2013 à 19:02
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 126 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 mars 2013 8
4 mars 2013 à 16:18
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 68 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 21 janvier 2015 2
4 mars 2013 à 19:02
<?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