aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009
-
15 déc. 2008 à 15:16
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009
-
17 déc. 2008 à 07:56
Bonjour !
Je rencontre un problème ces derniers jours, depuis que je suis apssé sur firefox 3.
J'utilise pour le site que je développe actuellement des variables de session pour stocker certaines informations sur les utilisateurs. Tout allait bien avec l'ancienne version de Firefox, mais avec la nouvelle les variables de session ne sont pas accessibles depuis certaine pages (Ce qui est d'autant plus étrange) ! J'ai bien vérifié l'ouverture de la session sur chaque pages. Aucune variable GET ou POST possédant un nom identique.
Je n'ai pas ce problème avec IE7. Firefox est configuré pour accepter les cookies.
Voici le début du code de la page qui pose problème :
<?php
session_start();
if(isset($_GET['file']) and is_numeric($_GET['file'])){
if(isset($_SESSION['user']['id'])){ /// Ici $_SESSION est vide sur Firefox, mais ne l'est pas sur la page appelante...
...
}
}
...
Auriez-vous une idée de la source du problème ?
Merci
A voir également:
"Php variables" "build date" "php version 4.4.4" "server api"
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009 15 déc. 2008 à 18:02
Alors je ne suis pas sur d'avoir bien compris, dans le doute je post tout.
Voila comment je définis les variables de session lors du login d'un utilisateur :
$_SESSION['user']['id'] = $data02['id']; /// Récupération des entrées dans la BDD
$_SESSION['user']['email'] = $data02['email'];
$_SESSION['user']['name'] = $data02['name'];
$_SESSION['user']['forname'] = $data02['forname'];
$_SESSION['user']['nbrOrder'] = $data02['nbr_of_order'];
$_SESSION['user']['activated'] = $data02['activated'];
$_SESSION['user']['id'] contient toujours un nombre : l'id de l'utilisateur dans la BDD.
J'arrive à accéder à ces variables après. Sauf sur 2 pages... Les 2 pages sur les quelles je n'arrive pas à accédé à ces variables sont appelé via javascript. -> window.open(URL);
Exemple contenu de $_SESSION['user']['id'] avant d'apellé une de ces 2 pages (Firefox) :
echo $_SESSION['user']['id']; = 21 // Valeur correcte
Contenu sur 1 de ces 2 pages apellées (Firefox) :
echo $_SESSION['user']['id']; =
isset($_SESSION['user']['id']); = false
Avec IE le contenu de $_SESSION['user']['id'] vaut bien 21 après l'apelle de l'une de ces pages...
De plus j'ai remarqué que l'id de la session n'est plus le même sur Firefox :
Avant : bb80df1905e664720db9675aa00f2dca
Après : 45ba53b03de7ca6a56839b027e679118
Sur IE :
Avant : 0bf2e3d93d0a67d0c4977d17c00d810a
Après : 0bf2e3d93d0a67d0c4977d17c00d810a
Voila. J'éspère que j'ai été claire. Si tu veux des éclaircissements sur certains points n'hésite pas à me demander !
Merci @+
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 15 déc. 2008 à 19:06
Heu ....
Peux tu indiquer :
le code qui contient window.open(URL); et celui définissant URL
le code de la page URL (jusqu'à la variable de session qui n'est pas définie)
comment sont passés les identifiants de session (par url ou par cookie ?)
Cordialement,
Kohntark -
Vous n’avez pas trouvé la réponse que vous recherchez ?
aquanovax
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 février 2009 17 déc. 2008 à 07:56
Salut ! Tout d'abord excuse moi de n'avoir pas répondu hier mais j'ai eu une journée très chargé.
Bref j'ai commencé par afficher les variables de session comme tu me l'as demandé, et là bonne surprise elle étaient correctement définies. J'ai refait plusieurs tests et le problème ne se reproduit plus. C'est d'autant plus bizarre car je n'avais rien changé au code. Enfin bon tout fonctionne correctement ! Mais la source de ce problème reste obscure. Je te remercie pour l'aide que tu m'as fournis et valide ta dernière réponse !