foreach($_POST['door_check'] as $door_check)
{
$_SESSION['front_door']['door'] = $door_check;
}
我有一小段代码可以检查检查了多少个框,然后创建一个复选框值数组。
问题是,当我添加“门”键时,无论选中多少个复选框,数组都只会添加一个值。当我把它留空时,它会添加所有这些,如[0],[1],[2]等
为什么会这样?,
答案 0 :(得分:8)
您的foreach()
循环每次都会覆盖旧变量。您需要将会话变量设为数组,例如
foreach($_POST['door_check'] as $door_check)
{
$_SESSION['front_door']['door'][] = $door_check;
}
编辑:保存以供日后使用时,请不要忘记验证该数据。
答案 1 :(得分:4)
尝试这样的事情:
foreach($_POST['door_check'] as $door_check) {
$_SESSION['front_door']['door'][] = $door_check;
}
或者甚至可能:
$_SESSION['front_door']['door'] = $_POST['door_check'];