cs_Tibabou
Messages postés129Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention 7 juillet 2012
-
26 avril 2009 à 19:02
eilijah
Messages postés1Date d'inscriptionsamedi 12 septembre 2009StatutMembreDernière intervention12 novembre 2009
-
12 nov. 2009 à 05:23
Bonjour,
Je rencontre un problème incompréhensible sur les sessions PHP.
Une de mes variables est modifiée au cours de l'exécution d'un script alors que je n'y accède ni en lecture ni en écriture.
Voici le scénario :
1. Connexion au site (enregistrement de la variable $_SESSION['id'] = 123)
2. Déconnexion du site (session_destroy();)
3. Connexion au site avec un autre identifiant ($_SESSION['id'] = 789)
4. Exécution du script suivant :
session_start();
echo "ID : ".$_SESSION['id']."
";
/*
* Traitements divers en base de données sans aucun appel à $_SESSION
*/
echo "ID : ".$_SESSION['id']."
";
5. Le script affiche :
ID : 789
ID : 123
Comment cette variable peut-elle être modifiée "toute seule" ?
On se retrouve "connecté" avec le compte d'un autre utilisateur, c'est très embêtant...
cs_Tibabou
Messages postés129Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention 7 juillet 2012 26 avril 2009 à 19:28
J'ai identifié la cause du problème, je l'ai contourné, mais je cherche toujours l'explication.
J'utilise une variable '$id' (donc ayant le même "nom" que dans $_SESSION['id']).
Dès la modification de $id, la variable de session change en même temps.
Je précise qu'à aucun moment je ne fais de : $id = $_SESSION['id'].
eilijah
Messages postés1Date d'inscriptionsamedi 12 septembre 2009StatutMembreDernière intervention12 novembre 2009 12 nov. 2009 à 05:23
Salut,
j'ai eut le meme probleme, en fait cela venait pour moi du fait que register_globals etait configuré sur "on". Donc pour eviter ce probleme et d'autre lié a register_globals, tu peux mettre un .htaccess avec :