$_SESSION['lang'] VS $lang

Résolu
Signaler
Messages postés
11
Date d'inscription
samedi 22 juillet 2006
Statut
Membre
Dernière intervention
23 novembre 2011
-
Messages postés
11
Date d'inscription
samedi 22 juillet 2006
Statut
Membre
Dernière intervention
23 novembre 2011
-
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

Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
1
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
Messages postés
11
Date d'inscription
samedi 22 juillet 2006
Statut
Membre
Dernière intervention
23 novembre 2011

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.