PHP中的单选按钮无法正常工作

时间:2013-04-05 00:46:37

标签: php input radio-button

我有这段代码:

<?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>

当我选择了错误的按钮时,它告诉我不正确,当我选择正确的按钮时,它告诉我正确。问题是如果没有选择按钮就没有任何反应。它不会回应错误或正确。即使答案什么也没有,那么它应该是不正确的。

2 个答案:

答案 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';
    }
}

另一种方法是添加另一个隐藏的输入并检查它。