我之前创建了一个文本文件并将其转换为多维数组以显示为测验的问题。如何在一次在线测验中一次只显示一个数据
注意:我无法插入图像,因此我无法提供任何示例,因此我会尽可能描述一下。
我试图一次只显示一个问题,每次用户点击我的测验。
这是我的代码到目前为止。该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()
只显示一个问题?
你可以给我们一个你的$ _SESSION数组的var_dump吗? – 2012-04-19 20:26:36
($ q,$ a,$ answer,$ data) – user1344705 2012-04-19 20:34:39
这不是我要求的.. do var_dump($ _ SESSION [“questions_array”]);在您的问题页面上发布结果。 – 2012-04-19 20:36:02