カンマ区切りのテキストファイルdata.txtから始めました
パンダとは何ですか?、動物、植物、家族、教師
rubixキューブとは何ですか?、パズル、迷路、ボックス、博物館の
HTMLは...、Webページのメインマークアップ言語、クロス-サイトセキュリティ、巧妙に構造化されたスクリプティング、非常に安全で安全な
PHPは...、汎用サーバーサイドスクリプト言語、クロスサイトセキュリティ、ハイパーテキスト製品の処理、HTMLのきれいな処理
テキストファイルから質問をロードしました。main.phpは次のようになります。
<h2>MasterQuiz Online</h2>
<p>Where would you like to go?</p>
<ul>
<li><a href='question.php'>Take quiz</a></li>
<li><a href='module.php'>Admin Module</a></li>
</ul>
<?php
//text file
$file = fopen('data.txt', 'r');
//array setup
$array = array();
while ($line = fgetcsv($file)) {
$array[] = $line;
}
fclose($file);
session_start();
$_SESSION["questions_array"]=$array;
//display var and index
var_dump($array);
?>
これは私のquestion.phpがどのように見えるかですが
<h2>Online Quiz</h2>
<form action="answer.php" method="post">
<?php
session_start();
if(sizeof($_SESSION['questions_array']) > 0 )
{
// Get the next question off of the quiz in session
$data = array_shift($_SESSION["questions_array"]);
echo '<p>'.array_shift($data).'</p>'; // next question
//shuffle($data); //shuffle choices, toggle if needed
foreach ($data as $a => $answer){ //answers
echo
'<input type="radio" name="question-'.$data.'" id="question-'.$data.'"'.
'value="'.$a.'"/>'.
'<label for="question-'.$data.'">'.$answer.'</label>'.
'<br>';
}
}
else{
header('location:result.php'); //questions array is empty, go to results page
}
?>
<br>
<input type="submit" name="submit" value="Submit"/>
基本的に2つの結果ページが必要です。
1つは、ボタンが押されるたびsubmit
に、ユーザーは別のページ(answer.php)に移動し、そこでユーザーが正解を取得したかどうかを表示します。ユーザーが次の質問に進むことができるように、続行ボタンも表示されます。
これは私が達成しようとしていることです:
質問結果
正しい/間違っている//ユーザーが正しい答えを得たかどうかによって異なります
正解: //正解を挿入
あなたの答え: //ユーザーが選択した答えを挿入(リンクを続ける)
これまでのところ、これは私のanswer.phpがどのように見えるかです
<h2>Question Results</h2>
<?php
session_start();
$array=$_SESSION["questions_array"];
//insert whether correct or incorrect here
echo "Your answer:<br>";
echo "Correct answer:".$array[0][1];
?>
<br><br>
<a href="question.php">Continue</a>
しかし、それは機能しません。そして、私はその理由について完全に立ち往生しています。は$array[0][1]
、他のページで何を与えるか(私が探している値)に関して、私に何か違うもの(私が探している間違った配列値)を与えました。
コードを改善して機能させる方法について何か提案があれば、助けていただければ幸いです。前もって感謝します!
そして2つ目(これが長くなっている場合は申し訳ありませんが、同じアイデアについて別々の投稿をしたくありません)
ユーザーがクイズを完了すると全体の結果が表示される結果ページ(result.php )を作成する必要があります。
出力例:
正直なところ、このようなことをするのは初めてなので、その方法について混乱しています。
私のresult.php
<h2>Total Results</h2>
<?php
//table of results
echo "<table border='1'>
<tr><th>Question</th><th>Your answer</th><th>Correct answer</th><th>Points</th></tr>
<tr><td>Question#1</td><td>one</td><td>two</td><td>three</td></tr>
<tr><td>Question#2</td><td>one</td><td>two</td><td>three</td></tr>
<tr><td>Question#3</td><td>one</td><td>two</td><td>three</td></tr>
<tr><td>Question#4</td><td>one</td><td>two</td><td>three</td></tr>
<tr><td>Question#5</td><td>one</td><td>two</td><td>three</td></tr>
<tr><th>Total Points</th></tr>
</table>";
?>
<br>
<a href="p05_main.php">Back to homepage</a>
表の値は、私がよく考えるように一時的にそこにあります。混乱してすみません!
もう一度、助けていただければ幸いです。