2012-07-31 57 views
1

我試圖讓一個數組在一個會話變量中從一個頁面傳遞到另一個頁面。我將會話變量設置爲等於我從表單收集的$ _POST數據。打印測試變量表明我,這是越來越初始設置頁上1在會話變量中傳遞數組的

session_start(); // start up your PHP session! 

if(isset($_POST['submit'])) 
{ 


unset($_POST['submit']); 
$_SESSION['userdata'] = $_POST; 
$userqty=$_POST; 
print_r($_SESSION['userdata']); 

第2頁我想將其設置爲另一個變量。我再次測試以查看該數組是否已經傳遞到第2頁,但它沒有,並且因爲沒有有效數組而出現錯誤,因此array_sum函數

session_start(); //啓動你的PHP會話!

$_SESSION['userdata'] = $userqty; 

print_r($_SESSION['userdata']); 

print_r($userqty;); 

$userqty_total=array_sum($userqty); 

任何幫助將不勝感激。

+0

你基本上設置'$ _SESSION [「用戶數據']'在第2頁爲'null'。切換分配順序:'$ userqty = $ _SESSIOn ['userdata'];' – Matt 2012-07-31 18:56:36

回答

3

您正在將$_SESSION['userdata']設置爲未初始化的$userqty的值。

更改您的第一行:

session_start(); 
$userqty = $_SESSION['userdata'] 
+0

哇,我很尷尬謝謝你幫我馬特! – Djacksway 2012-07-31 19:01:28

+0

@Djacksway沒問題。我相信這只是一個大腦屁。 – Matt 2012-07-31 19:02:02

1

結賬serialize和PHP反序列化功能。

編輯:實際上你不需要將數組轉換爲字符串並將其轉換回數組。你可以照原樣使用它。

第一頁上:

$_SESSION['data'] = $_POST; 
秒頁:

$temp = $_SESSION['data']; 

現在$temp有網頁的內容