2010-06-11 5 views
2

Je rencontre des problèmes lors de l'utilisation de sessions avec php .. Je pense avoir compris pourquoi, il semble que lorsque je mets la variable de session, elle copie plutôt l'objet SimpleXMLElement que juste la valeur stockée dans ledit objet. Comment puis-je m'assurer de stocker la valeur dans ma variable de session?Problème de session PHP, copie d'un objet plutôt qu'une simple valeur

Voici quelques extraits de code:

$records = $listingNums->RecordCount->Returned[0]; 
$_SESSION['test'] = 'green'; 
$_SESSION['saleRecords'] = $records; 
for($x=0;$x<count($listingNums->ListingNumber);$x++){ 
    $_SESSION['saleNumbers'][$x] = $listingNums->ListingNumber[$x]; 
} 

Donc, si je vider les variables de session juste après leur mise, ils semblent ok. Mais quand je reviens sur la page, ils ne sont pas définis. Le test = vert J'ai mis en essayant de voir si je pouvais faire fonctionner des variables de session, et que l'on sauve à la page suivante.

Ma session chemin de sauvegarde est inscriptible et il écrit ce qui suit:

Test | s: 5: "vert"; saleRecords | O: 16: "SimpleXMLElement": 1: {i: 0; s: 1: "6";} saleNumbers | a: 6: {i: 0; O: 16: "SimpleXMLElement": 1: {i: 0; s: 7: "2736176";} i: 1; O: 16: "SimpleXMLElement": 1: {i: 0; s: 7: "2733979";} i: 2; O: 16: "SimpleXMLElement": 1: {i: 0; s: 7: "2733522";} i: 3; O: 16: "SimpleXMLElement": 1: {i: 0; s: 7: "2715680";} i: 4; O: 16: "SimpleXMLElement": 1: {i: 0; s: 7 : "2708179";} i: 5; O: 16: "SimpleXMLElement": 1: {i: 0; s: 7: "2673739";}}

également la session est mémorisé et les variables sont définir quand je revenir dans la page, mais à l'exception du test, ils apparaissent vides.

J'espère que c'est assez d'infos et j'apprécierais vraiment toute aide!

Merci!

Christine

Répondre

1

réponse Untested, mais vous pouvez soit le convertir en XML, ou le convertir en chaîne

sous forme de chaîne (et converties enregistrements à un tableau aussi):

$records = $listingNums->RecordCount->Returned[0]; 
$_SESSION['test'] = 'green'; 
$_SESSION['saleRecords'] = (array)$records; 
for($x=0;$x<count($listingNums->ListingNumber);$x++){ 
    $_SESSION['saleNumbers'][$x] = (string)$listingNums->ListingNumber[$x]; 
} 

Comme XML:

$records = $listingNums->RecordCount->Returned[0]; 
$_SESSION['test'] = 'green'; 
$_SESSION['saleRecords'] = (array)$records; 
for($x=0;$x<count($listingNums->ListingNumber);$x++){ 
    $_SESSION['saleNumbers'][$x] = $listingNums->ListingNumber[$x]->asXML(); 
} 
+0

Merci! C'était si simple :) merci beaucoup pour une réponse rapide! – christine