2013-02-25 54 views
0
foreach($_POST['door_check'] as $door_check) 
{ 
    $_SESSION['front_door']['door'] = $door_check; 
} 

我有一小段代碼來檢查有多少個盒子被選中,然後創建一個複選框值的數組。向不添加所有值的foreach創建的數組添加一個鍵

問題是,當我添加'door'鍵時,無論檢查多少個複選框,數組只添加一個值。當我剛剛離開空的,它增加了所有的人都喜歡[0],[1],[2]等

這是爲什麼?

回答

8

foreach()環舊變量每次覆蓋。你需要讓你的會話變量數組,例如

foreach($_POST['door_check'] as $door_check) 
{ 
    $_SESSION['front_door']['door'][] = $door_check; 
} 

編輯:當您保存以備後用,不要忘記,以驗證數據。

+0

不知道過寫作。感謝你的回答! – 2013-02-25 05:59:11

4

嘗試這樣:

foreach($_POST['door_check'] as $door_check) { 
    $_SESSION['front_door']['door'][] = $door_check; 
} 

或甚至:

$_SESSION['front_door']['door'] = $_POST['door_check'];