CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 2007
-
4 juil. 2007 à 10:21
cs_morpheus57
Messages postés121Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention30 décembre 2010
-
4 juil. 2007 à 13:37
Bonjour,
Mon site Internet comporte une partie administration qui utilise les sessions pour vérifier que quelqu'un est authentifié.
Lorsqu'on s'identifie, la page admin.php cherche donc dans la base MySQL le "profil" de l'utilisateur.
J'utilise alors un petit bout de code tout simple :
foreach($result as $key => $value)
$_SESSION[$key] = $value;
...avec $result qui est un tableau contenant le premier résultat de la requête
Jusqu'ici tout va bien puisque si j'écris juste en dessous :
echo $_SESSION['id'];
...cela m'affiche ce que je veux
Manque de chance, quand je charge une autre page qui utilise les sessions, il me dit que $_SESSION['id'] n'est pas défini...
J'ai ainsi essayé de trouver le problème, et j'ai remarqué que si j'écrivais :
$_SESSION['id'] = 1;
...cela fonctionnait (en chargeant l'autre page)
Alors que :
$key = 'id';
$_SESSION[$key] = 1;
...ne fonctionne pas
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 4 juil. 2007 à 10:45
Salut,
Non, ca devrait fonctionner avec $_SESSION[$key]...
Mais, avant tout :
* Es-tu sûr que $key vaut bien 'id' (et non 'ID' ou 'Id' ou...)
* Démarres-tu la gestion des sessions dans la deuxième page (celle qui pose pb) avec session_start() ?
Ensuite, pour connaitre le contenu de ta session : print_r($_SESSION);
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 4 juil. 2007 à 11:05
La deuxième page commence bien par session_start (j'avais déjà vérifié)
D'autant plus que si j'écris :
$_SESSION['id'] = 1;
Cela fonctionne bien dans la deuxième page