Pertes des variables de sessions après changement de page via javascript

cs_gautier Messages postés 11 Date d'inscription dimanche 17 novembre 2002 Statut Membre Dernière intervention 24 avril 2007 - 21 févr. 2006 à 01:13
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 21 févr. 2006 à 08:25
Lu tout le monde, première chose, je suis un newbe dans la programmation PHP (plus habituer à Java et C#),

J'ai juste fais un petit site avec sur la page index.php un petit formulaire de login, ce dernier appel via la méthode POST la page login.php.
La page login.php est juste responsable de contrôler si l'utilisateur est bon ou pas (avec bd mysql ca marches au poil) puis elle definit une variable de session ($_SESSION["userlevel"]=1) pour définir les droits de l'utilisateur.
Une fois ces étapes faites la page change l'url du navigateur (en javascript, parent.document.location.href="index2.php") pour charger la page principale du site et c'est là que ca coince...

Sur la page index2.php la variable de session $_SESSION["userlevel"] n'est plus définie !?! Alors qu'elle l'était dans la page login.php (j'ai mis un echo pour tester ;))

J'appele session_start() sur toutes les pages... sinon je n'ai pas de session_id()...
Le session_id() des deux pages est identique...
J'ai essayer de faire le travail du javascript manuellement, c'est à dire que créer un lien sur la page login.php qui pointe sur index2.php, le résultat est identique....

Est-ce que quelqu'un peu m'aider à comprendre ce problème ou peut-être à me montrer l'énorme erreur de conception que je fais...

Doit-on faire "sauvegarde" de la session avant de quitter une page ?

Merci beaucoup

2 réponses

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008
21 févr. 2006 à 01:47
header('Location: index2.php'); // Redirection

Pas besoin de faire de sauvegarde...
Peut être en copiant un PETIT bout de code on pourrait voir s'il y a un problème...
Vérifie d'abord que les sessions fonctionnent en local par exemple et si les fichiers sont bel et bien créé (sous windows, ils sont dans C:/Windows/Temp et commencent par sess_)

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
21 févr. 2006 à 08:25
Les sessions sous easyphp ou wamp sont dans le répertoire tmp (dans les répertoires des programmes cités précédemment), sinon sous windows ça peut être un autre répertoire si t'as modifié les variables d'environnement (bon c'est rarement le cas mais c'est bien pratique). regarde donc dans le répertoire %TEMP% et %TMP% en plus du répertoire tmp de ton programme si tu as easyphp ou wamp (tu tapes ça dans l'explorateur) si tu vois des fichiers sessions.

Si tu es chez free n'oublies pas de créer un répertoire "sessions" à la racine de ton site (tu aurais eu une erreur normalement donc je doute que ce soit ça mais on sait jamais).

Sinon montre-nous ton code qu'on voit un peu plus si y'a un problème ou non.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Rejoignez-nous