Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2007, 16h48   #1
Invité de passage
 
Inscription : avril 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 8
Points : 3
Points : 3
Par défaut Mise en session d'objets ayant des références à dautres objets

Bonjour...

J'ai un probleme avec la gestion des sessions et notament avec le passage des objets par une session

Voici l'objet que je souhaite enregistrer :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
	class XmlDocument extends DomDocument	
	{
		public function __construct($xmlFile)
		{
			parent::__construct();
 
			// chargement du xml
			$this -> load($xmlFile);			
		}
 
                public function getRootNodeName()
                {
                        return $this -> documentElement -> localName;
                }
		....
	}

Dans fichier1.php, je l'instancie et l'enregistre dans la session

Code :
1
2
3
4
5
6
 
        require('classes/XmlDocument.class.php');
        session_start();
 
        $xml = new XmlDocument("xhtml_css.xml");
        $_SESSION["objet"] = serialize($xml);
Dans le fichier2.php, je le récupére et tente d'appeler la méthode

Code :
1
2
3
4
5
6
7
 
        require('classes/XmlDocument.class.php');
        session_start();
 
        $newobj = unserialize($_SESSION["objet"]);
 
        echo $newobj -> getRootNodeName();
et le navigateur m'insulte en me répondant :

Citation:
Warning: XmlDocument::getRootNodeName() [function.XmlDocument-getRootNodeName]: Invalid State Error in /home/alpax/www/graphart/EasyPageXmlEditor-0.2/classes/XmlDocument.class.php on line 52
Je voudrais pouvoir récuperer mon objet avec le domDocument dont il hérite... Comment faire....
ALPAX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 17h59   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
tu devrais faire un var_dump($newobj) car documentElement étant un membre il me semble qu'il ne devrait pas y avoir de problème avec ce code.

[edit]
Citation:
Envoyé par man
Warning

Some types of data can not be serialized thus stored in sessions. It includes resource variables or objects with circular references (i.e. objects which passes a reference to itself to another object).
Il semblerait que ton problème vienne de là, tu peux tenter de le sauver en BDD ou dans un fichier pour en être sur.
[/edit]
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h33.


 
 
 
 
Partenaires

Hébergement Web