我有这段代码:
<?php
if (isset($_POST['ans'])) {
$answer = $_POST['ans'];
if ($answer == "ans1") {
echo 'Correct';
}
else {
echo 'Incorrect';
}
}
?>
<form action="example.php" method="post">
Answer 1 <input type="radio" name="ans" value="ans1" /><br />
Answer 2 <input type="radio" name="ans" value="ans2" /><br />
Answer 3 <input type="radio" name="ans" value="ans3" /><br />
Answer 4 <input type="radio" name="ans" value="ans4" /><br />
<input type="submit" value="submit" />
</form>
当我选择了错误的按钮时,它告诉我不正确,当我选择正确的按钮时,它告诉我正确。问题是如果没有选择按钮就没有任何反应。它不会回应错误或正确。即使答案什么也没有,那么它应该是不正确的。
答案 0 :(得分:2)
尝试添加else,如果这样,如果选中的按钮为空,则会传递给它。
<?php
if (isset($_POST['ans'])) {
$answer = $_POST['ans'];
if ($answer == "ans1") {
echo 'Correct';
}
else if(empty($answer)){
echo 'Select Button';
}
else {
echo 'Incorrect';
}
}
?>
答案 1 :(得分:1)
而不是检查$_POST['ans']
检查是否发布了某些内容:
if ('POST' === $_SERVER['REQUEST_METHOD']) {
$answer = isset($_POST['ans']) ? $_POST['ans'] : false;
if ($answer == "ans1") {
echo 'Correct';
}
else {
echo 'Incorrect';
}
}
另一种方法是添加另一个隐藏的输入并检查它。