将Mysql信息从页面传输到另一个页面

时间:2013-05-22 00:12:50

标签: php html mysql html-form-post

我正在为我的网站制作一个琐事概念。所有问题数据都存储在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';

    }    

?> 

我一直在寻找答案,但没有得到任何答案。

2 个答案:

答案 0 :(得分:1)

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

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

示例:http://www.tizag.com/htmlT/htmlhidden.php
通过这种方式,您可以了解用户响应&amp;用户在提交时回答的问题。

希望这会有所帮助。

答案 1 :(得分:0)

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

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

另外,你不应该在html中发布正确的答案,这对于用户来说很容易找到答案!