Php 填写正确值时继续下一页

Php 填写正确值时继续下一页,php,Php,我正在为我的学生做一个测验。我想这样做,你只能在解决问题1之后才能看到问题2,依此类推 Id,question,option1,option2,option3,option4,correctAnswer 我目前的想法是为每个问题制作一个网页,上面有一个表单: <FORM action="test.php" method="post"> <I>12 is the right answer:</I> <INPUT TYPE="text" NAME="nam

我正在为我的学生做一个测验。我想这样做,你只能在解决问题1之后才能看到问题2,依此类推

Id,question,option1,option2,option3,option4,correctAnswer
我目前的想法是为每个问题制作一个网页,上面有一个表单:

<FORM action="test.php" method="post">
<I>12 is the right answer:</I>
<INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30"><BR>
<INPUT TYPE="submit" VALUE="send">
</FORM>
Id,question,option1,option2,option3,option4,correctAnswer

然后,我尝试在答案为12时从test.php重定向到next.php,在答案不是12时重定向到current.php。尽管如此,我还是无法做到这一点。有人能帮我吗?

已经有一段时间没有编写php代码了,但会尝试为您提供指导

Id,question,option1,option2,option3,option4,correctAnswer
不,您不应该为每个问题创建网页。这不是一种可扩展的方法。想象一下,如果你必须在一段时间内存储1000个问题,那么

Id,question,option1,option2,option3,option4,correctAnswer
相反,在php中使用动态页面加载概念。以下是您应该做的:

Id,question,option1,option2,option3,option4,correctAnswer
1.在您使用的任何数据库中创建一个表,包括

Id,question,option1,option2,option3,option4,correctAnswer
创建一个php页面,如quick.php,它根据会话变量中存储的questionId读取问题。 假设您在首页显示第一个问题,显示选项并显示提交按钮

Id,question,option1,option2,option3,option4,correctAnswer
当用户单击submit按钮时,应该发生的是,相同的quick.php页面将使用用户选择的答案调用courtsy

Id,question,option1,option2,option3,option4,correctAnswer
然后,您可以在php文件中检查正确答案,因为正确答案存储在一个变量中,该变量存储第一个问题的数据库获取结果,如果答案正确,您可以使用下一个问题增量的id 1或任何其他机制更新会话,并查询数据库表中的该问题id

Id,question,option1,option2,option3,option4,correctAnswer
您的html应该以这样一种方式编写:读取存储在$row变量中的当前值,该变量将查询结果w.r.t存储到会话中存储的questionId

Id,question,option1,option2,option3,option4,correctAnswer
代码的一小部分:

Id,question,option1,option2,option3,option4,correctAnswer
quick.php文件:

Id,question,option1,option2,option3,option4,correctAnswer
<?php
$con=mysql_connect($dbserver,$dbusername,$dbpassword);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($dbname, $con);

// Check user answer for previous question
if (isset($_POST['submit'])) {   
if(isset($_SESSION['question_id'])){
    $previous_question_id = (int) $_POST['question_id']; 

    // Query database
    $getQuestion = "SELECT * from questions_table where id =    
   $previous_question_id";
    $resultOfQuestion = mysqli_query($conn, $getQuestion);

    $correct = $row_get_question['correctAnswer'];
    $selected_radio = $_POST['answer'];

    if ($selected_radio == $correct)
        echo "THAT ANSWER IS CORRECT";
        $_SESSION['question_id'] = $previous_question_id +1;

        $getQuestion = "SELECT * from questions_table where   
   (id=".$_SESSION['question_id'].")";
        $resultOfQuestion = mysqli_query($conn, $getQuestion);

    else
        echo "THAT ANSWER IS WRONG!";
    }


  }


if(!isset($_SESSION['question_id'])) {
$_SESSION['question_id']="0";
$getQuestion =  mysql_query("SELECT * FROM questions WHERE    
(id=".$_SESSION['question_id'].")";
$resultOfQuestion       = mysqli_query($conn, $getQuestion);
 }


echo "<form  action='quiz.php' method='post'>";
while($row = mysql_fetch_array($resultOfQuestion)){

    echo " <b>" . $row['question'] . "</b>";

    echo "<input type='radio' value='' name='answer' checked />"; 
    echo  $row['option1']; echo "<br />";
    echo "<input type='radio' value='' name='answer' />"; 
    echo  $row['option2'];echo "<br />";
    echo "<input type='radio' value='' name='answer' />";
    echo  $row['option3'];echo "<br />";
    echo "<input type='radio' value='' name='answer' />"; 
    echo  $row['option4'];echo "<br />";

    echo "<input type='submit' name='next' value='next' />";


}

你能展示一下到目前为止你一直在尝试什么吗?这可以通过几种方式实现。。。您必须使用JS或jquery进行此操作。