2013-02-25 42 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'];