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

我有一小段代码检查选中了多少个框,然后创建一个复选框值数组。

问题是,当我添加那个“门”键时,无论选中多少个复选框,数组都只会添加一个值。当我把它留空时,它会添加所有这些,如 [0]、[1]、[2] 等

为什么是这样?,

4

2 回答 2

7

您的foreach()循环每次都会覆盖旧变量。例如,您需要将会话变量设为数组

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

编辑:当您保存以供以后使用时,不要忘记验证该数据。

于 2013-02-25T05:57:34.273 回答
3

尝试这样的事情:

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

甚至可能:

$_SESSION['front_door']['door'] = $_POST['door_check'];
于 2013-02-25T05:57:42.560 回答