提交测验后无法打印结果?

时间:2015-05-22 06:31:17

标签: php

我正在尝试使用此代码,但结果却没有显示正确的答案?它只是显示你的答案是错的?

 <?php  
      session_start();
      require_once 'config.php';
    $row = mysql_fetch_array(mysql_query('select question_name,answer1,answer2,answer3,answer4,answer from ogt_questions  limit 1'),MYSQL_ASSOC);
    $question_name = $row['question_name'];
    unset($row['question_name']);
    //shuffle($row);
?>
    <form method="POST" action="zQuiz_show_answer.php?q=<?php echo $question_name ?>">
    <p><?php echo $question_name; ?></p>
    <?php
        foreach ($row as $key => $value) {
            echo "<input type='radio' name='answe'>".$value."</input></br> ";
        }
    ?>
    <input type="submit" name="submit" value="submit"/> 
</form>

    <?php

     session_start();
    require_once 'config.php';

if(isset($_POST["submit"])){ 
  $answe =  $_POST["answe"];

$ans = mysql_result(mysql_query('select answer2 from ogt_questions where question_name="'.urldecode($_GET['q']).'"'),0);

    if("$answe" == $ans){
        echo "You got it right!";
    }
    else

        echo "You got it wrong! $ans";
} 
?>

3 个答案:

答案 0 :(得分:1)

打印$ answe变量是否显示选择的答案。 并删除双引号检查

if(trim($answe) == $ans){
}

答案 1 :(得分:0)

更改

if("$answe" == $ans){  

if($answe == $ans){ 

最好有问题ID的号码

答案 2 :(得分:0)

您需要在单选按钮的value属性中添加一些内容,因为这是提交的内容,而不是按钮的文本。您可以使用列名作为值。

<?php
    foreach ($row as $key => $value) {
        echo "<input type='radio' name='answe' value='$key'>".$value."</input></br> ";
    }
?>

然后,当您检查答案时,您不需要执行查询。你可以查一下:

if ($answe == "answer2")

虽然我认为如果answer2是所有问题的正确答案,这将是一个非常简单的测验。