我正在为我的网站制作一个琐事概念。所有问题数据都存储在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';
}
?>
我一直在寻找答案,但没有得到任何答案。
答案 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中发布正确的答案,这对于用户来说很容易找到答案!