Bonsoir / Bonjour a tous
Voila j'ai un problem au niveau de la redirection et je ne sais pas comment m'y prendre
Voila je voudrais que après que l'utilisateur et choisi "enseignant" celle ci le redirige vers la page "membre_enseignant.php" et que si il est un simple etudiant il est automatiquement rediriger vers "membre.php"
j'ai beau essayer de tester plusieur boucle if pour que si l'utilisateur choisi enseignant , sa ne marche pas *
Login.php
<h1>Connexion</h1>
<?php
if(isset($_POST'submit']))
{
if(empty($_POST'email']))
{
$errors] = "Veuillez saisir votre email";
}
if(empty($_POST'password']))
{
$errors] = "Veuillez saisir votre password";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo"<div class='error'>".$error."</div>";
}
}else{
if(verifier_combinaison_email_password_choix($_POST'email'],$_POST'password'],$_POST'choix']) == 0 )
{
echo"<div class='error'>email ou password incorrect</div>";
}
else
{
$_SESSION'email'] = $_POST'email'];
header("Location:index.php?page=membre");
}
}
}
// if(!isset($_SESSION'email'])&& $page !='membre')
// {
// header("Location:index.php?page=membre");
// }
?>
<form method="POST" action="">
<label for="email">Votre email:</label>
<input type="text" name="email"><br/>
<label for="password">Votre Password</label>
<input type="password" name="password"><br/><br/>
<label for='choix'>Etes-vous un etudiant ou enseignant?</label>
<select name="choix">
<!-- permet de ne pas faire de doublon quand on ne veut pas perdre notre choix -->
<?php echo isset($choix) ? '<option value='.$choix.'>'.$choix.'</option>':'';?>
<?php echo $choix !='etudiant' ? '<option value="etudiant">etudiant</option>':'';?>
<?php echo $choix !='enseignant' ? '<option value="enseignant">enseignant</option>':'';?>
</select><br/><br/>
<input type="submit" name="submit" value="Se connecter">
</form>
<a href='index.php?page=inscription'>Pas encore inscrit?</a>
login.fonc.php
<?php
//la fonction qui verifie la combinaison du email et password
function verifier_combinaison_email_password($email,$password)
{
$email = mysql_real_escape_string(htmlentities($_POST'email']));
$password = mysql_real_escape_string(htmlentities($_POST'password']));
$query = mysql_query("SELECT email,password FROM utilisateurs
WHERE email='$email' AND password='$password'
");
$rows = mysql_num_rows($query);
return $rows;
}
function verifier_combinaison_email_password_choix($email,$password,$choix)
{
$email = mysql_real_escape_string(htmlentities($_POST'email']));
$password = mysql_real_escape_string(htmlentities($_POST'password']));
$choix = mysql_real_escape_string(htmlentities($_POST'choix']));
$query = mysql_query("SELECT email,password,choix FROM utilisateurs
WHERE email='$email' AND password='$password' AND choix='$choix'
");
$rows = mysql_num_rows($query);
return $rows;
}
?>
Voila :/
Il faut peut-être fait une condition if sur $_POST'choix'] qui redirige selon le choix. Parce que, sauf si j'ai mal regardé, tu n'as pas de condition sur le select.
Tu peux faire un truc dans ce genre:
if($_POST'choix'] == 'etudiant'){
header('location: membre_edutiant.php);
}elseif($_POST'choix'] == 'enseignant'){
header('location: member_enseignant.php);
}else{
echo 'Une erreur est survenue';
}
Sa serait le plus simple.
Si sa aurais été plus simple , Mais le problem vient peut être de la fonction verifier_combinison_email_password , parce que j'ai beau mettre la boucle if , dans le fichier login.php , celle ci ne me redirige vers rien quand je me co , sachant que les info son juste dans la base de donnée