我有一个表单,其中有一些单选按钮发布是/否答案。我想检查一下它们都是YES而不是空的。
session_start();
if($_POST["minRequirementsForm"] == '1') {
foreach($_POST as $key => $value) {
if ($value == 'no') {
$error = 1;
} else {
$error = 2;
}
}
}
答案 0 :(得分:1)
假设您正确地获得了帖子值,那么这个缺陷就在您的逻辑中。
你在说
If the value is no
Error = 1
Else If the value is yes
Error = 2
意味着在“否”之后为“是”将设置错误= 2。
你可能想要
$required_fields = array("radio1" => NULL, "radio2" => NULL, "radio3" => NULL);
if($_POST["minRequirementsForm"] == '1') {
$error = 2;
foreach($_POST as $key => $value) {
if ($value == 'no') {
$error = 1;
}
if (array_key_exists($key, $required_fields))
{
unset($required_fields[$key]);
}
}
if (count($required_fields) > 0)
{
$error = 1;
}
}