Pertes des variables de sessions après changement de page via javascript
cs_gautier
Messages postés11Date d'inscriptiondimanche 17 novembre 2002StatutMembreDernière intervention24 avril 2007
-
21 févr. 2006 à 01:13
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 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
A voir également:
Pertes des variables de sessions après changement de page via javascript
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 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_)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 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.