Page 1 sur 1

Nom objet/session = conflit ?

Posté : 10 nov. 2008, 20:30
par lux
Hello.

J'ai rencontré un bug étrange, qui n'arrive que chez infomaniak :

Si je définis une $_SESSION['user'];
Si je définis ensuite un objet $user = new UserCompte();
Que je fais un print_r($_SESSION['user']); j'obtiens :

Code : Tout sélectionner

userCompte Object ( ... )
En sachant que ma fonction Usercompte ne fait rien, elle est vide. Et donc dans la session se retrouvent les variables et constantes de l'objet ... Changer le nom de la session en $_SESSION['blabla']; résous le problème. Il y a comme qui dirait un conflit entre les noms de session et le nom des objets. Ça marche sans problème sur 4 configs serveur différentes, sauf chez infomaniak.

C'est normal ou pas ? :P

Posté : 10 nov. 2008, 20:34
par orgerix
Les variables globales doivent être On.

Dans ce cas, $_SESSION[varaibale'] et $variable sont des alias, ainsi que $_POST['variable'], $_GET['variable'].

Essaye
 set_ini('register_globals','off');

Posté : 10 nov. 2008, 20:46
par lux
Alors, j'ai vérifié dans le phpinfo, elles sont à On.
ini_set('register_globals','off');
Ça ne change rien ... (et si je fais un phpinfo par derrière, ça n'a pas changé la valeur). Donc possible qu'on ne puisse pas changer cette valeur.

EDIT : avec un htacces on peut le changer :

Code : Tout sélectionner

php_value register_globals "0"
Et ça résouds le problème.
C'est con que j'y ai pas pensé avant. :cry:

Posté : 11 nov. 2008, 15:10
par fab
Et tu n'as pas accès à la configuration de php ? ( php.ini )

Posté : 11 nov. 2008, 15:34
par lux
Chez infomaniak non. Que certains truc dans un .htaccess.