Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
698 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Session et objet :??:

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Session et objet :??:

n°1436304
jan san ka​r
profil : pas le bon
Posté le 04-09-2006 à 16:22:48  profilanswer
 

Bonjour,
 
J'ai l'habitude code en java et de faire mes interfaces en JSF/Struts/etc... donc la on m'a demandé de faire une sorte de client en php mais j'ai un léger soucis. Je n'arrive pas à stocker mes objets dans ma session.
Je suis en php 5.0.5 (en partant du principe que je dois développer en php 5.0.x, j'ai pas le droit à 5.1.x)
et lorsque je fais :
 

Code :
  1. require '../classTest.php';
  2. session_start();
  3. $classTest = new ClassTest();
  4. $_SESSION['classTest'] = $classTest;
  5. $montest = 'test_session<br/>';
  6.         $_SESSION['montest'] = $montest;


 
puis dans la page d'apres :
       

Code :
  1. require '../classTest.php';
  2. session_start();
  3. $montest = $_SESSION['montest'];
  4. print('test chaine'.$montest.'<br/>');
  5. $classTest = $_SESSION['classTest'];
  6. print('test class :: '.$classTest->mykey.' '.$classTest->myword.'<br/>');


 
j'ai la variable $montest qui s'affiche correctement alors que ma classe ne me sort absoluement rien...
j'ai également tenté avec un session_register('classTest') et rien de nouveau (g placé register_global à On dans php.ini)
Y aurait-il une subtilité qui m'ai échappé ?
(ma classe de test ne contient que deux éléments publics mykey et myword)
 
edit : mise en page


Message édité par jan san kar le 04-09-2006 à 16:23:58
mood
Publicité
Posté le 04-09-2006 à 16:22:48  profilanswer
 

n°1436307
omega2
Posté le 04-09-2006 à 16:30:55  profilanswer
 

Si ca passe pas directement, alors il va faloir que tu sérialises ta classe.
Je ne sais plus quel est le nom de la fonction de chaque classe qui permet de choisir quels éléments de la classe sera sérialisé, mais je sais qu'il y en a une. Regarde donc dans la documentation si tu retrouves cette fonction là.

n°1436321
jan san ka​r
profil : pas le bon
Posté le 04-09-2006 à 16:54:11  profilanswer
 

ok je regarde ça j'aurais pensé que session_register le faisait tout seul :/

n°1436338
soju
One shot !
Posté le 04-09-2006 à 17:08:49  profilanswer
 

pas besoin de sérialiser c'est automatique
 
- des valeurs sont affectées à mykey et myword ? sinon normal que ça n'affiche rien
- un message d'erreur ? (essaye error_reporting(E_ALL);, tu as peut être loupé des msg)
 
PS: utilise que $_SESSION, sans session_register et register_globals à off (sinon confusion)

n°1436351
jan san ka​r
profil : pas le bon
Posté le 04-09-2006 à 17:20:10  profilanswer
 

donc pour mykey et myword des valeurs sont ajoutés dans le constructeur (et je teste en affichant c'est valeur avant de les passer dans la session)
et je suis repassé à $_SESSION et register_global à off
mais ça ne m'affiche toujours rien. En notice il me dit que j'essaye d'obtenir des attributs d'un non-objet...
dans mon php.ini j'ai bien error_reporting à E_ALL et  je viens également de débloquer notice

n°1436352
jan san ka​r
profil : pas le bon
Posté le 04-09-2006 à 17:21:58  profilanswer
 

j'ai également testé le serialize sur ma classe il ne fait quasi rien dessus en faisant un print de la chaine j'obtiens un N;
donc si $_SESSION fait lui même la sérialisation le problème vient peut être de la, j'ai sans doute oublié de surcharger une méthode pour cette étape. Je repars chercher sur php.net :sweat:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Session et objet :??:

 

Sujets relatifs
Vbs et Phpla function mail dans PHP - réglage SMTP
[PHP] bug dans un script d'inscription[HTML/PHP]Forcer le chargement d'une image non utiliser
Insérer une classe CSS dans un tableau PHPProblèmes avec PHP
PHP et les variables de session ProblemeProbleme de lecture d'objet[RESOLU]
problème : méthode Cells de l'objet global a échoué[PHP] Session en objet ??
Plus de sujets relatifs à : [PHP] Session et objet :??:


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR