Bonjour,
Je fais actuellement un petit site intranet. Ce site ne doit etre accessible que pour certaines personnes disposant d'un mot de passe. On distingue 2 catégories d'utilisateurs parmis ceux disposant d'un pass. Chacune de ces catégories a accès à une partie différente du site.
Pour satisfaire mes besoins, j'ai une base de données mysql comportant les logins de tous les membres, ainsi que leur niveau d'autorisation quand à l'accès au site (admin ou user)
Pour ma page ou l'utilisateur devra se log, j ai donc un fichier connec.php se présentant comme ca:
<body>
<table width="auto">
<form method="post" action="login.php">
<tr>
<td align="right">Login : <input type="text" name="login" value=""></td>
</tr>
<tr>
<td align="right">Password : <input type="password" name="password"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="valider" /></td>
</tr>
</form>
</table>
</body>
Voilà, ca c est pour la creation du formulaire servant à s identifier, l'envers du décor se trouve sur login.php, avec notamment la réception des données saisies dans le formulaire, et la comparaison des valeurs avec celles de la base de données:
<?
$db=mysql_connect("serveur_bdd", "login_bdd", "mot de passe_bdd");//connection à la bdd
mysql_select_db("humantoc",$db);//selection de la bdd
$result = mysql_query("SELECT * FROM Utilisateurs WHERE nom = '". $_POST["login"] ."'");//requete: on recupere les donnees dans la bdd correspondant au login saisi dans connec.php
if(!$result){
echo("Une erreur est survenue lors de la tentative de connexion");
}
else{
if(mysql_num_rows($result) == 0){
echo("Le nom d'utilisateur " . $_POST["nom"] . " n'existe pas");//pas de login correspondant
}
else{
$row = mysql_fetch_array($result);
if($_POST["password"] != $row["mdp"]){
echo("Votre mot de passe est incorrect");//le login correspond, mais le pass est incorrect
}
else{//le pass est correct
mysql_close();
if($row["fonction"] == "admin"){//les infos correspondent à un compte admin
echo("<a href=\"admin.php\"/>page admin</a>");//on redirige vers la partie admin
}
else if($row["fonction"] == "utilisateur"){//les infos correspondent à un compte utilisateur
echo("<a href=\"utilisateur.php\"/>page notaire</a>");//on redirige vers la partie utilisateur
}
}
}
}
?>
Tout fonctionne correctement. Mon probleme et que je veux optimiser la redirection, au moment ou l'utilisateur est redirigé vers le contenu admin OU utilisateur (atterir sur une page avec un lien n est pas tres ergonomique...). Les solutions à base de header() me semblant inadaptées. J'aimerai savoir comment procéder.
merci d avance
Configuration: Windows XP
Firefox 2.0.0.5