以前にテキストファイルを作成し、それを多次元配列に変換してクイズの質問として表示しました。オンラインクイズで一度に1つのデータのみを表示する方法
注:私はイメージを挿入できません。したがって、私はできる限り記述的にしようとします。
ユーザーが自分のクイズをクリックするたびに、一度に1つの質問のみを表示しようとしています。
これまでのコードです。 main.phpページ:
<h2>ONLINE QUIZ</h2>
<ul>
<li><a href='question.php'>Take quiz</a></li>
<li><a href='module.php'>Admin Module</a></li>
</ul>
<?php
$file = fopen('data.txt', 'r');
$array = array();
while ($line = fgetcsv($file)) {
$array[] = $line;
}
fclose($file);
session_start();
$_SESSION["questions_array"]=$array;
?>
そしてquestion.phpページ:
<?php
session_start();
$array=$_SESSION["questions_array"];
foreach ($array as $q => $data) {
echo '<p>'.array_shift($data).'</p>';
foreach ($data as $a => $answer) {
echo
' <input type="radio" name="question-'.$q.'" id="question-'.$q.'"'.
' value="'.$a.'"/>'.
' <label for="question-'.$q.'">'.$answer.'</label>'.
'<br>';
}
}
?>
Take quiz
リンクをクリックすると、ユーザーは一つだけ質問質問ページに取られます示されています。ユーザーは答えを選択し、submit
にヒットします。この送信ボタンをクリックすると、ユーザーは結果ページに移動し、そこでcontinue
を押すことができます。
Continue
リンクは、次の質問が表示される質問ページにリダイレクトされます。
これまでに行ったことから、これを実現するためにisset()
関数を使用しようとしています。しかし、問題は私がどのくらい正確に私のisset()
を書くか分からないということです。私はこのサイトから、このスニペットを見つけた
、私はそれが便利だかどうかわからないんだけど、:
if (!isset($_SESSION['FirstVisit'])) {
//show site for the first time part
$_SESSION['FirstVisit] = 1;
header("Location: http://example.com/index.php");
// Don't forget to add http colon slash slash www dot before!
} else { Show normal site }
しかし、再び、私は自分自身が空白ました。 isset()
を使用して1つの質問のみを表示するにはどうすればよいですか?
$ _SESSION配列のvar_dumpを教えてもらえますか? –
($ q、$ a、$ answer、$ data) – user1344705
これは私が尋ねたものではありません.. var_dump($ _ SESSION ["questions_array"]);質問ページに結果を投稿してください。 –