begin process at 2010 02 10 07:53:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

Problème de serialization - passage par référence ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de serialization - passage par référence ?

vendredi 3 avril 2009 à 00:30:02 | Problème de serialization - passage par référence ?

Evangun

Bonjour à tous,

j'ai un objet que je souhaite mettre en session sous forme sérialisée, mais le problème est le suivant :

    $panier = unserialize($_SESSION['panier']);

   //ici j'utilise mon objet panier qui marche bien

   //je veux le mettre en session


    $_SESSION['panier'] = serialize($panier);
   
//immédiatement après $panier n'est plus un objet, il a été sérialisé.
   echo $panier; //affiche bien une chaîne

comme si $panier avait été passé par référence. D'après ce que j'ai lu, ça ne devrait pas être le cas ?? Pour info je ne pense pas faire de passage par référence dans ma classe et elle n'a pas les méthodes magiques _sleep et _wakeup.

Merci de votre aide :)
vendredi 3 avril 2009 à 00:44:47 | Re : Problème de serialization - passage par référence ?

Evangun

Bon évidemment c'est toujours au moment où on pose la question après avoir cherché la réponse pendant 2 heures qu'on trouve...

Le souci venait du fait que pour mes tests, j'écrivais parfois :

session_start();

$_SESSION = array();
session_destroy();

if(isset($_SESSION['panier']))...


je croyais qu'au prochain rechargement de la page il n'y aurait pas de session existante vu qu'elle avait été détruite aussitôt par session_destroy, mais de toute évidence le fait d'appeler $_SESSION['panier'] sans avoir initialisé la session avant fait quand même planter quelque chose par la suite. En effet après ça, le fait de faire serialize($objet) transforme réellement $objet en chaine. Ce comportement est pour le moins étonnant

Pour régler le problème, quand je veux supprimer ma session, je fais maintenant : $_SESSION = array();
session_destroy();
exit;

pour être sûr qu'il n'y aura pas de traîneries derrière, et tout marche bien au prochain rechargement de page.

voilà, en espérant que ça servira aussi d'autres personnes ^^
vendredi 3 avril 2009 à 00:59:35 | Re : Problème de serialization - passage par référence ?

Evangun

Réponse acceptée !
En fait on, c'est register_globals qui faisait planter mon script quand il était à on... j'imagine qu'à un moment ou à un autre, il devait confondre $panier et $_SESSION['panier'] mais je n'ai pas le courage de vérifier, j'y ai déjà passé trop de temps.
Merci quand même, bonne soirée


Cette discussion est classée dans : problème, passage, référence, session, panier


Répondre à ce message

Sujets en rapport avec ce message

for each [ par StiriX ] Bonjour à tous !Je développe actuellement un panier virtuel et je suis confronté à un petit problème:- Je souhaite faire une session panier qui recevr Problème de panier avec $_SESSION [ par ragmo ] Bonjour à tous,Depuis ce matin j'ai un problème sur un ensemble de scripts de gesion de panier qui marchait [très] bien. Le message est : "Cannot use Pseudo frames et panier, perte de session... [ par alphacrash ] Bonjour !Voila mon soucis, je pense assez connu, j'utilise les pseudo frames donc une page index qui contient au debut un session_start() et cette pag Panier d'achat + Session client [ par gabin21 ] Bonjour, Je ne suis pas débutant en création de site internet, mais je me lance dans la création d'une e-boutique, et là, je ne connais pas grand chos Panier en PHP [ par diskotek ] Allo tout le monde. J'ai un gros problème mais s'en ai pas un..... Je cherche depuis 2 semaines déjà, le moyen d'extraire les produits de mon panier e Problème contournement login [ par steph12358 ] Bonjour j'ai un petit soucis.Dans une fenêtre de login je positionne une variable de session à "1". Dans toutes mes pages je vérifie que la variable incohérence serveur local et distant [ par garudra ] Bonjour et bonnes fêtes! je construis une boutique en ligne, mon panier fonctionne parfaitement en local, et pas du tout sur le site distant.Quelles peit soucis avec foreach [ par stella2809 ] Bonjour Sur un panier virtuel je rencontre un probleme de selection du mon foreach je suppose : [code=php] session_start(); $_SESSION['panier_lock Problème de session [ par cispo ] Bonsoir, J'utilise Easyphp 1.8 pour développer et je rencontre un problème avec ma variable session. Dans un script, je fais ceci : $_SESSION['statu Variables de session récupérées un click plus tard [ par malik7934 ] Salut, Je me prends la tête sur un problème qui me paraît pourtant simple...Sur mon site, il est inscrit en haut à droite "Bonjour visiteur". S


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales