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 をフォームの隠し入力フィールドとして使用します。2 ページ目では、次の質問 ID を持つ質問を選択するだけです。

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

また、正解を html に投稿しないでください。ユーザーにとっては非常に簡単に理解できます。

于 2013-05-22T00:18:13.490 に答える