Condition qui ne fonctionne pas

Par Laznet, il y a 10 ans


Bonjour,

Dans le but de connecter mes users.
Je lance un select vers ma bdd.
En demandant de récupérer l'e-mail et le mot de passe.

En dessous je fais la comparaison suivante :

<?php if ($email == $email2 && $password == $password2) { header('location:private.php'); } ?>

Email2 et password2 correspondent aux valeurs sortant de la requête et Email et password eux sont les valeurs récupérer depuis le formulaire

C'est là ou le problème se pose.

Même quand l'e-mail ou le mot de passe sont différent de ceux inscrite dans ma bdd je suis rediriger vers private.php.

Voici l'intégralité de mon code PHP :

<?php session_start(); require 'cnx.php'; if (!empty($_POST)) { $email = $_POST['email']; $password = sha1($_POST['password']); $q = array('email'=>$email, 'password'=>$password); $sql = 'SELECT email, password FROM users WHERE email = :email AND password = :password'; $req = $cnx->prepare($sql); $req->execute($q); $email2 = $q['email']; $password2 = $q['password']; if ($email == $email2 && $password == $password2) { header('location:private.php'); } } ?>

Merci d'avance pour futur réponses.

1 réponse

Ramzz1994, il y a 10 ans
var_dump($email); var_dump($email2); var_dump($password); var_dump($password2); die();