2010-06-11 103 views
2

我在使用php會話時遇到了一些麻煩..我想我已經找到了原因,似乎當我設置會話變量時,它正在複製整個SimpleXMLElement對象而不僅僅是存儲在所述對象中的值。我如何確保將值存儲在會話變量中?PHP會話問題,複製對象,而不僅僅是價值

下面是一些代碼片段:

$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]; 
} 

所以,如果我只是將它們設置後轉儲會話變量出來,他們似乎確定。但是當我回到頁面時,他們沒有設置。測試=綠色我設置試圖看看我是否可以獲得任何會話變量的工作,並保存到下一頁。

我的會話保存路徑是可寫的,並將其寫入了以下工作:

測試| S:5: 「綠色」; saleRecords | O:16: 「的SimpleXMLElement」:1:{我:0; S:1: 「6」;} saleNumbers |一個: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」;}}

另外會話被記住的,而變量是當我設置回到頁面,但除了測試之外,它們看起來都是空的。

我希望有足夠的信息,我非常感謝任何幫助!

謝謝!

回答

1

未經檢驗的答案,但你既可以將其轉換爲XML,或將其轉換爲字符串

作爲字符串(並轉換記錄陣列以及):

$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]; 
} 

由於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

謝謝!這是如此簡單:) 非常感謝你的快速回答! – christine 2010-06-11 07:39:06

相關問題