Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/03/2006, 12h16   #1
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
Par défaut Problème session

Hi all !

Alors sur un site que je développe en ce moment, g un pti problème de session.

Mon but est d'afficher un menu qu'on est connecté en tant qu'administrateur, et donc de ne pas l'afficher qu'on ne l'est pas.

Pour répertorié les admin, g une table user dans ma BDD avec un champ "statut" et donc la valeur "admin" pour un administrateur.

A l'ouverture de la page d'acceuil ou de n'importe laquel d'ailleurs g ceci :
Code :
1
2
3
4
5
6
7
8
9
 
<?
session_start();
require("connect_db.php");
if(isset($_SESSION['statut'])){
   $statut=$_SESSION['statut'];
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
et avant chaque partie de menu à afficher ou pas j'ai ceci :
Code :
1
2
3
4
5
 
<?
				if($statut == "admin"){		
					echo"<li><a href='modif_serv.php?statut=admin'>Modification serveur</a></li>";}
				?>
et j'obtien ceci quand aucun admin n'est connecté :

Code :
Notice: Undefined variable: statut in c:\program files\easyphp1-8\www\test\top.php on line 41
et pareil quand je suis connecté en tant qu'admin et il n'affiche pas le menu désiré.

j'ai toujours la possibilité de faire une requête SQL pour la stocké dans statut mais je voudrai garder statut pour différencié un visiteurs d'un admin.

Je galère vraiment là donc si vous pouvez m'aider, ca serait très gentil !!

Merci pour vos réponses
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 12h23   #2
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Salut,

Il nous faudrait quelques infos supplémentaires notamment comment est alimenté $_SESSION['statut]

Quand à l'erreur, c'est normal qu'elle apparaisse pusique si on n'est pas admin alors la variable n'est pas initialisée

Sinon quelques pistes, tu peux essayer de voir ce que contient $_SESSION['statut'] avant de l'attribuer à $statut

Pierre
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 12h26   #3
Membre éclairé
 
Avatar de johweb
 
Inscription : décembre 2003
Messages : 332
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : décembre 2003
Messages : 332
Points : 316
Points : 316
Je confirme les dires de FCYPBA : remplace
Code :
1
2
3
if(isset($_SESSION['statut'])){ 
   $statut=$_SESSION['statut']; 
}
par
Code :
1
2
3
4
5
if(isset($_SESSION['statut'])){ 
   $statut=$_SESSION['statut']; 
}else{
   $statut='';
}
johweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 12h59   #4
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
Bah je ne sais pas vraiment comment alimenté $_SESSION['statut'] quand aucun utilisateur n'est connecté d'ou le isset et apparemment il prend pas non plus le statut lorsque je me connecte ...

g testé en mettant le $_session['statut'] en echo, et g l'erreur :

Code :
1
2
 
Notice: Undefined index: statut in c:\program files\easyphp1-8\www\test\top.php on line 83
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 13h02   #5
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
le code proposé par johweb est exacetement ce qu'il te faut.

Si la variable de session n'est pas défini, il faut quand meme attribué une valeur à $statut sinon tu va avoir des Notice partout
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 13h11   #6
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
merci johweb , g remplacé, j'ai plus le message d'erreur, seulement, kan je me connecte, je n'ai pas la partie de menu d'admin ke je voudrai avoir, voila ce ke j'ai mis :

Code :
1
2
3
4
<?
	if($statut == "admin"){		
		echo"<li><a href='modif_serv.php?statut=admin'>Modification serveur</a></li>";}
				?>
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 13h13   #7
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Comment sais tu que la personne est admin.

En gros comment alimentes-tu la variable de session lorsqu'une personne se connecte ??

Pierre
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2006, 13h17   #8
Membre confirmé
 
Avatar de mLk92
 
Inscription : mars 2006
Messages : 522
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 522
Points : 249
Points : 249
Non c bon !! ca marche !!

Merci bcp a tt les deux !!!

Bonne continuation à vous et merci encore
mLk92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h14.


 
 
 
 
Partenaires

Hébergement Web