1

我正在为我的网站研究一个琐事概念。所有问题数据都存储在 mysql 数据库中。我使用以下代码让用户提交随机的琐事答案。

<html> 
 <title>Trivia</title>
 <body>
 <h1>Trivia</h1>





<?php 

 mysql_connect("localhost", "trivia", "<snip>") or die(mysql_error()); 
 mysql_select_db("trivia") or die(mysql_error()); 



 $query = 'SELECT * FROM questions ORDER BY RAND() LIMIT 1';
 $data = mysql_query("SELECT * FROM questions ORDER BY RAND() LIMIT 1") 
 or die(mysql_error()); 


 $info = mysql_fetch_array( $data ); 


 Print "<b>question:</b> ".$info['question'] . " ";


 ?>
 <form action="result.php" method="post">
 <input type="hidden" name="checkbox" value=<?php
  $info ['correctoption'] ?>>
  <?php
  Print $info ['option1'] ?>  <input type="radio" name="ans" value=<?php
  $info ['option1'] ?>  /><br />
  <?php
  Print $info ['option2'] ?> <input type="radio" name="ans" value=<?php
  $info ['option2'] ?>   /><br />
  <?php
  Print $info ['option3'] ?> <input type="radio" name="ans" value=<?php
  $info ['option3']  ?>   /><br />
  <?php
  Print $info ['option4']  ?> <input type="radio" name="ans" value=<?php $info ['option4'] ?>   /><br />
  <input type="submit" value="submit" />
</form>

 </body>
 </html>

但是,由于问题是随机的,我无法弄清楚如何在下一页上检查它

 <?php 

 mysql_connect("localhost", "trivia", "<snip>") or die(mysql_error()); 
 mysql_select_db("trivia") or die(mysql_error()); 




 $query = 'SELECT * FROM questions ORDER BY RAND() LIMIT 1';
 $data = mysql_query("SELECT * FROM `questions` WHERE 1") 
 or die(mysql_error()); 


 // puts the "friends" info into the $info array 
 $info = mysql_fetch_array( $data ); 

 $correctoption =  $_POST ['checkbox'];


$answer = $_POST['ans'];

    if ($answer == 
  $correctoption) {

        echo 'You are Correct';


    }

    else {

        echo 'You are Incorrect';

    }    

?> 

我一直在寻找这个问题的答案,但没有得到任何地方。

4

2 回答 2

1

在隐藏的输入字段中保留问题 ID:

<input type="hidden" name="questionNumber" id="questionNumber" value="12345" />

示例:http
://www.tizag.com/htmlT/htmlhidden.php 这样,您就知道用户在提交时回答的用户响应和问题。

希望这会有所帮助。

于 2013-05-22T00:18:40.820 回答
0

希望您的问题在数据库中有 ID。使用问题 ID 作为表单中的隐藏输入字段。然后在第二页上,您只需要选择具有问题 ID 的问题:

$query = 'SELECT * FROM questions WHERE id=' .mysql_real_escape_string($_POST['id']). ' LIMIT 1';

另外,你不应该在 html 中发布正确的答案,它会很容易让用户弄清楚!

于 2013-05-22T00:18:13.490 回答