slum_411
Messages postés7Date d'inscriptionjeudi 26 février 2004StatutMembreDernière intervention21 avril 2005
-
21 avril 2005 à 11:25
slum_411
Messages postés7Date d'inscriptionjeudi 26 février 2004StatutMembreDernière intervention21 avril 2005
-
21 avril 2005 à 14:25
Bonjour à tous (et à toutes),
Je développe actuellement un site avec un formulaire de connexion.
Chaque page est protégée par un fichier qui est le suivant :
<tt style="font-size: 9pt;">
<?PHP
//Fichier de contrôle d'un client
if(!session_is_registered('id'))
{
echo "
Vous n'avez pas accès à cette page.";
include "footer.php";
exit();
}
?>
</tt>
Le problème est :
- L'utilisateur ouvre sa page
- Il se connecte en saisissant son email et son mot de passe
- Le menu complet s'affiche
- Il clique sur une zone protégée (par exemple commande/lister.php)
- Le message 'Vous n'avez pas accès à cette page' s'affiche, le menu disparait
- On se relogue, et cette fois ci ça marche.
Est-ce un problème de PHP (easyphp 1.8) ?
Voici le fichier header.php, qui contient toutes les informations
relatives à la connexion (je ne sais pas si ça sera trop long) :
<tt style="font-size: 9pt;">
<?PHP
//Si le formulaire est validé
if($_GET["action"]=="connect")
{
//requete de connexion à la table user
$mdp=$_POST["mdp"];
$email=$_POST["email"];
//Connexion en entete GET pour le log VB
if($_GET["log"]=="vb")
{
$mdp=$_GET["mdp"];
$email=$_GET["email"];
}
$sql="select * from UTILISATEUR where email='".$email."';";
$r=mysql_query($sql);
$res=mysql_fetch_array($r,1);
//On teste la validité du mot de passe
if($res["mdp"]==$mdp)
{
//On récupère l'id
$theid=$res["id"];
if($theid==""){$theid=-1;} //Pour éviter les erreurs de requête
$sql="select * from CLIENT where UTILISATEUR_id=".$theid.";";
$rconn=mysql_query($sql);
if(mysql_num_rows($rconn)>0)
{
$type=1; //Le type est un client
}
else
{
$type=0; //Le type est un technicien
}
//On enregistre des infos dans des variables de session