我有这样的代码:
<?php
if (isset($_POST['ans'])) {
$answer = $_POST['ans'];
if ($answer == "answers1") {
echo 'Correct';
}
else {
echo 'Incorrect';
}
}
?>
<form action="example.php" method="post">
Answer 1 <input type="radio" name="answers" value="answers1" /><br />
Answer 2 <input type="radio" name="answers" value="answers2" /><br />
Answer 3 <input type="radio" name="answers" value="answers3" /><br />
Answer 4 <input type="radio" name="answers" value="answers4" /><br />
<input type="submit" value="submit" />
</form>
当我选择错误的按钮时,它告诉我错误,当我选择正确的按钮时,它告诉我正确。问题是,如果没有选择按钮,什么也不会发生。它不会重复不正确或正确。
尝试添加else if,这样如果选定的按钮为空,它将传递给它。
<?php
if (isset($_POST['ans'])) {
$answer = $_POST['ans'];
if ($answer == "answers1") {
echo 'Correct';
}
else if(empty($answer)){
echo 'Select Button';
}
else {
echo 'Incorrect';
}
}
?>
不检查$_POST['ans']
检查是否有内容发布:
if ('POST' === $_SERVER['REQUEST_METHOD']) {
$answer = isset($_POST['ans']) ? $_POST['ans'] : false;
if ($answer == "answers1") {
echo 'Correct';
}
else {
echo 'Incorrect';
}
}
另一种方法是添加另一个隐藏输入并检查