$_SESSION['lang'] VS $lang

Résolu
tabasco_nemesis Messages postés 11 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 23 novembre 2011 - 23 nov. 2011 à 01:59
tabasco_nemesis Messages postés 11 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 23 novembre 2011 - 23 nov. 2011 à 10:02
Bonjour à tous.
J'ai un petit problème que je me traîne depuis 2 jours :
dans une applis que je développe (5.3.8 en OO), j'ai un bout de code (volontairement simplifié ET testé tel quel)
$_SESSION['lang']='fr';
echo $_SESSION['lang'];
foreach (array('fr','en','de') as $lang) { 
    echo $lang;
} 
echo $_SESSION['lang'];


Et voici le résultat étrange suivant:
fr
fr
en
de
de
(le dernier 'de' devrait être 'fr')

Après quelques test de renommage de variable (par exemple [...as $langToto] à la place de [...as $lang]), cela fonctionne correctement. De même lorsque je ne démarre pas de session.
Donc voilà ma question : qu'est-ce qui pourrais perturber ainsi le contenu de ma variable de session et faire ce télescopage de nom ?

Merci. (dsl si je me suis trompé de rubrique de forum)

2 réponses

cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
23 nov. 2011 à 03:42
Bonjour,

regarde si dans la configuration de ton php (via phpinfo() ou dans le php.ini), si tu n'as pas register_globals à on, si tel est le cas, passe le à off, redémarre le service web et re-tente

bonne journée
3
tabasco_nemesis Messages postés 11 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 23 novembre 2011
23 nov. 2011 à 10:02
Hourra !
C'était bien cela.

Sur mon serveur de test, c'est tout bien comme il faut, mais sur l'hébergement de production (OVH), c'était à "ON", et ça ne m'était pas venu à l'idée, que bien que "off" par défaut sur 5.3.x, c'était "on" chez l'hébergeur. Bizarre quand même ce comportement par défaut sur une offre "pro".

Merci 47.
0
Rejoignez-nous