Si le bon mot de passe est saisie il n'y a pas de problème en revanche si il y a une erreur dans la saisie de l'email et du mot de passe la page se recharge et le message d'erreur prévu (via un header) n'apparait pas.
en gros j'ai une condition if --- else et je ne tombre jamais dans le else
voici mon code:
fonction:
function verif_membres($email, $mdp) //ici on déclare une fonction qui verifie que le qui recherche dans la bdd le mot de passe et email correspondant
{
$req = "SELECT email,mdp FROM membres where email='$email' and mdp='$mdp'";
$c = mysql_query($req);
//print(mysql_error() . $req);
}
function charge_membres($email)
{
$req = "SELECT prenom, nom, adresse, tel, email, sexe, birthdate, admin FROM membres where email='$email'";
$c = mysql_query($req);
print(mysql_error() . $req);
return $c;
}
if(isset($_POST['connexion']))
{
$email = trim($_POST['email']);
$mdp=md5($_POST['mdp']);
$donnees = verif_membres($email, $mdp);
while($personne = mysql_fetch_array($donnees))
{
print $personne['mdp'] . $personne['email'];
print_r($personne);
echo 'ok';
if($mdp == $personne['mdp'] && $email==$personne['email'])
{
$donnees_du_membre = charge_membres($email);
while($info = mysql_fetch_array($donnees_du_membre))
{
$_SESSION['membres']['prenom'] = $info['prenom'];
$_SESSION['membres']['nom'] = $info['nom'];
$_SESSION['membres']['adresse'] = $info['adresse'];
$_SESSION['membres']['tel']= $info['tel'];
$_SESSION['membres']['email']= $info['email'];
$_SESSION['membres']['sexe']= $info['sexe'];
$_SESSION['membres']['birthdate']= $info['birthdate'];
$_SESSION['membres']['admin']= $info['admin'];
}*/
header("Location:identification.php?msg=ok");
}
else // c'est ce else qui ne fonctionne pas
{
header("Location:identification.php?msg=nopass");
echo 'no';
}
}
}
<?php
if(isset($_GET['msg']))
{ switch($_GET['msg'])
{ case 'ok':
print '<p>Vous êtes connecté</p>';
break;
case 'nopass':
print '<p>veuillez verifier votre votre email et votre mot de passe</p>';
break;
}
}