我意识到这是一个之前被问过的问题("不能用[]进行阅读")但是我无法理解答案以及如何解决我的问题功能
function check_required_checkbox($checkbox_name, $error, $is_multiple_checkboxes)
{
global $error_msgs;
if ($is_multiple_checkboxes == true)
{
if (!isset($_POST[$checkbox_name][]))
{
$error_msgs[] = $error;
}
else if ($is_multiple_checkboxes == false)
{
if (!isset($_POST[$checkbox_name]))
{
$error_msgs[] = $error;
}
}
}
问题行是6,!isset($_POST[$checkbox_name][])
,我不明白我应该怎样写它的正确方法。我看到了使用括号的情况,但!isset($_POST[{$checkbox_name}][])
也不正确。
当我有多个使用name="radda[]"
的复选框时,我希望我的函数检查是否选中了具有特定名称的所有复选框,如果没有,则将$error
添加到$error_msgs[]
} array。
修改 我与要求重写旧表格的部门讨论过。我没有使用复选框,而是将其切换到所有借款人权利和责任的列表,然后使用列表下方的单选按钮要求用户选择"是"或"不"他们是否阅读清单。然后我让它需要选择"是"或"不"并添加了验证,如果" no"如果被选中,他们将无法提交申请。与试图制作一堆复选框相比,这远更容易。我很欣赏每个人提供的帮助。
答案 0 :(得分:0)
如果我明白你需要什么。 尝试定义$ checkbox_name变量,然后访问POST。
$checkbox_name = 'radda';
if (isset($_POST[$checkbox_name]) && !is_array($_POST[$checkbox_name]))
{
$error_msgs[] = $error;
}
这样的事情应该有用。
这是一个类似的主题:Retrieve an associative array value with a variable as key