Bonjour les gens, ca faisait relativement longtemps que je n'étais pas venu sur le forum mais la j'ai un ptit probleme . J'ai une classe "membre", que j'instancie quand le mec se log on, objet que je met dans une session comme ceci:
$_SESSION['infos_membre'] = new Membre($id);
je fais un print_r($_SESSION['infos_membre']);
et cela m'affiche :
membre Object
(
[num] => 1
[nom] => Traerin
[level] => 127
[mail] => slak@wanadoo.fr
[error] => Array
(
)
)
Donc ceci, sur la page de log on, donc tout marche bien . Maintenant, quand je vais sur une autre page et que je fais le meme print_r, voila ce que j'obtient :
__PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => membre
[num] => 1
[nom] => Traerin
[level] => 127
[mail] => slak@wanadoo.fr
[error] => Array
(
)
)
et je ne plus accéder à mes variables. Si qqn avait deja eu ce probleme ...
zebdinou pour les intimes / Blog : http://www.zebden.fr
Parce que la class membre n'est pas instancié sur chaque page
__PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => membre
Mais le reste des variables sont quand meme passées. il vaut mieux apparement quand tu as instancié ta class que tu retourne un tableau pour le mettre en session.
nonon c pas un probleme de serialisation, la ou je fais mon stage ils font comme cela et ca fonctionne tres bien, et vu l'audience du site et la compétence du webmaster, je pense pas que ce soit de la merde.
Je vais faire le truc du tableau mais bon a mon taff on fait ca et ya pa de probleme c ca que je capte pas trop mais bon ...
Effectivement (après discution avec Zebden :) ) il semble que la sérialisation ne soit pas nécésaire !
par contre comme nous te l'avons conseillé, il faut déclarer ta classe avant l'appele au session_start(). Ceci pour raison évidente, PHP ne connais pas ta classe (structure, propriété ...) il ne peut donc pas l'instancier dans ta variable de session :)
=>