2013-03-03 126 views
0

我正在研究一個PHP應用程序,該應用程序具有對程序操作至關重要的一個(多個)數組。我需要保持這個數組的內容在頁面加載之間保持不變。我知道$_POST可以用來保留頁面加載時的大部分數據類型,但是如何將數組放在數組中?

該陣列是一個簡單的,但它有指數的量取決於用戶的輸入 - 它的範圍可以從1 50.

之間的任何地方,以

有沒有什麼辦法可以保留頁面加載之間的陣列的數據與 $_POST

+1

您應該使用'$ _SESSION',而不是POST。 – dfsq 2013-03-03 06:54:49

回答

2

你的問題不是很清楚。在頁面之間傳遞變量應保存在$_SESSION而不是$_POST變量中。在會話變量中存儲數組與將任何變量保存到會話變量相同。

$session_start(); 
$_SESSION['my_array'] = array('one', 'two', 'three'); 
foreach($_SESSION['my_array'] as $value) { 
    echo $value; 
} 
+0

啊,謝謝!我不知道你可以像這樣的數組設置數組索引的值。我現在就放棄它。 – 2013-03-03 07:01:41

0

客戶端/服務器開發中的規則1:永遠不要相信客戶端

你最好將數組存儲在PHP的會話狀態中,或者將它序列化到磁盤上。

幸運的是,它很容易:

$_SESSION['someKey]' = $myArray; 

還有一個問題,您將其存儲在頁的建議:如果用戶使用Back按鈕和重新提交或以其他方式破壞你的頁面排序,會發生什麼?通過將狀態存儲在客戶端上,您不能再依賴它了。