2013-05-22 81 views
1

我正在爲我的網站開發一個瑣事概念。所有的問題數據都存儲在一個mysql數據庫中。我使用下面的代碼爲用戶提交隨機化的瑣事答案。將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

[請不要在新代碼中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[紅框](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

回答

0

希望你的問題在數據庫中有id。將問題ID用作表單中的隱藏輸入字段。在第二頁上,然後,你只需要選擇有問題ID的問題:

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

而且,你不應該張貼在HTML中的正確答案,這將是很容易弄清楚的用戶!

+0

我試過上面的代碼,它仍然沒有顯示正確的答案,所以我嘗試打印的價值,我得到的是: SELECT * FROM questions where question_id = LIMIT 1 – Thezlehman

1

保留問題ID在一個隱藏的輸入字段:

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

例子:http://www.tizag.com/htmlT/htmlhidden.php
這樣,你就知道用戶反應&問題哪個用戶回答了提交。

希望這會有所幫助。

相關問題