session : pb utilisation avec des "objets" [php] - PHP - Programmation
Marsh Posté le 29-03-2003 à 15:13:26
non, je crois pas... ca s'étant avant register_global off et track_vars on
Marsh Posté le 29-03-2003 à 15:18:25
Code :
|
non ?
Marsh Posté le 29-03-2003 à 15:18:46
pb résolu :
dans le cas d'un type simple : isSet
dnas le cas d'un objet : is_object
!
Marsh Posté le 29-03-2003 à 15:19:56
beleg > ce qeu tu marque c'est kif kif:
& == obtenir une référence sur l'objet de la session !
Marsh Posté le 29-03-2003 à 15:26:29
je sais, c bien pour ca que je vois pas linteret de créer une variable $count pour agir sur $_SESSION["count"]
Marsh Posté le 29-03-2003 à 15:32:26
non, c simpelment plus facil de manipuler $count que $_SESSION['count']
.....
en fait, je me suis planté : ca résoud pas mon problème !!
en fait, le session_start() ne réccupère pas les objets que je met dans le table $_SESSION[] !! je capte pas !
Marsh Posté le 29-03-2003 à 16:17:35
je viens de regarder un fichier session ...
c de la forme : NOM | TYPE : LONGUEUR : VALEUR;
je suppose quil ne doit pas savoir comment sauvegarder ton objet, il faudrait le convertir dans un type symple genre array
edit : si il le sauve ... donc il doit pouvoir le recuperer .. test en cours.
jai sauvé ds $_SESSION["membre"] une instance de member
je recupere :
__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => member [login] => yo [idmember] => 5 [idunique] => e69cbb8a06a7558e076c6c0162190d0e [idonline] => 446 [admin] => 2 )
Marsh Posté le 29-03-2003 à 16:26:43
en, fait, le pb ne doit pas venir de la:
l'exemple marche bien tel qu'il est.
mais ca se comporte tres bizarrement quand
on essaye de garder en session une instance Class A et que cette class A contient un champs qui est une instannce d'une classe B.
des lors, la session ne garde pu l'instance de A
Marsh Posté le 29-03-2003 à 16:31:47
Code :
|
chez moi ça fct toujours...
Marsh Posté le 29-03-2003 à 16:33:05
moi jai fait comme ca pr recuperer mon objet du coup
// sauvegarde
//$_SESSION["membre"] = serialize($M);
// recuperation
$MM = unserialize($_SESSION["membre"]);
print_r($MM);
echo "<br><br>".$MM->login;
echo "<br><br>".$MM->idunique;
jai pas de classe sous la main comportant des objets, je peux pas aller plus loin ds le test
Marsh Posté le 29-03-2003 à 16:37:04
le pb est c'est qu'il n'a pas l'air de vouloir mettre en session un objec,t quand celui ci contient deja un objet!
j'essaye de te faire un exemple php
Marsh Posté le 29-03-2003 à 16:40:48
tu veux direq'un user qui a un objet caddy par ex, tu sais récupérer l'user, mais pas le caddy ?
$user= new user();
$user->caddy->addArticle('test',3);
ça c'est pas possible de le sauver dans une session ?
$_SESSION['user']= $user;
$user2= $_SESSION['user'];
$user2->caddy->afficher(); //ne fonctionnerait pas ?
Marsh Posté le 29-03-2003 à 16:41:03
ethernal a écrit :
|
, bah pas chez moi, mais ca va pas mempecher de sortir , on recherche un nouveau dev php mais tjrs pas de php de tres haut niveau technique ... 2 ans de dev de personnes dorigine diverses, c chaud a ratrapper , c un bordel
Marsh Posté le 29-03-2003 à 16:45:09
beleg a écrit : |
heu... ils engagerait qq en homework à 400km de leur boite ??
fo imposer tes points de vues
Marsh Posté le 29-03-2003 à 16:50:41
arggggggh,
je viens de trouver le bug,
ca vient de la methode __sleep !!
je sais pas pkoi, mais ca chie cette méthode!!!!
Code :
|
Marsh Posté le 29-03-2003 à 16:55:22
notre developpeuse/chef est au canada , c super pratique pr les explications ... mais je doute quil te prenne pr rester chez toi .
tjrs en periode dessai, je fais des commentaires mais pas a tout le monde , profil bas.
Marsh Posté le 29-03-2003 à 17:56:16
beleg a écrit : je doute quil te prenne pr rester chez toi . |
dommage
Marsh Posté le 29-03-2003 à 17:57:54
__sleep pour les objets, c'est pas une fonciton réservée ??
j'ai vu ça qq part, mais où ??
-- edit--
http://www.php.net/manual/en/function.serialize.php
ok j'ai rien dit
Marsh Posté le 29-03-2003 à 18:02:14
bah si c'est une fonction reservé, elle est appellée avant la serialisation !
mais si elle existe, le but est de l'utilisr, enfin, bon, c pas grave, j'ai pas besoin de cette fonction en ce moment
Marsh Posté le 29-03-2003 à 15:03:22
j'aimerais mettre des objets en session :
malheureusement ca marche avec des type "simple", mais pas avec des object :
j'ai l'impression que quadn on mets un object en session :
isset => renvoie false tout le temps