Bonjour
Problème de session...
Au commencement j'avais ça :
fichier : megaclass.php
fichier : class2.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php class megaClass { function __construct() { //code } //d'autres methodes function putinSession($cname) { $_SESSION['objetsession'] = $this; } } ?>
fichier : index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php class class2 extends megaClass { function __construct() { parent:: __construct(); //code } //d'autres methodes } ?>
Donc voilà en gros (je pense que ca suffit comme code pour comprendre le pb). Tout fonctionnait, c'était merveilleux, je pouvais récupérer mon objet dans les autres pages sans problème, tout était ok.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php require megaclass.php require class2.php $class = new class2(); $class->putinSession(); ?>
Mais j'ai decidé de faire une autre classe heritant de class2.
Donc :
fichier quifaitdeconner.php
et le fichier index.php modifié :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php class quiFaitDeconner extends class2 { function __construct() { parent:: __construct(); //code } //d'autres methodes } ?>
fichier : index.php
Et là ... dramatiquement, ça ne fonctionne plus. Si j'affiche la variable session contenant mon objet juste après l'avoir mis en session, pas de soucis, c'est ok. Mais dès que je veux le récupérer sur un autre pas ça déconne et il me met : "__PHP_Incomplete_Class Object".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php require megaclass.php require class2.php require quifaitdeconner.php $class = new quiFaitDeconner (); $class->putinSession(); ?>
Et si je déclare un nouvel objet class2, j'ai pas d'erreur.
Je me suis dit qu'il y avait un problème avec le session_start, mais comme ca fonctionnait avant je ne vois pas pourquoi ça ne fonctionnerait plus. J'ai regardé l'auto.start du php.ini, pas de soucis, il est a 0.
Enfin voilà, je ne comprends pas pourquoi ça marchait avant et plus maintenant.
Ou bien au niveau du constructeur ?
Bref si quelqu'un a une moindre petit idée, je sus preneur.
Merci !






Répondre avec citation
Partager