我从逗号分隔的文本文件data.txt开始
什么是熊猫?,动物,植物,家庭成员,老师
什么是魔方?,拼图,迷宫,盒子,博物馆
HTML是...,网页的主要标记语言,交叉-站点安全,巧妙的结构化脚本,极其安全和安全
的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"/>
基本上我需要两个结果页面。
一个是每次submit
点击按钮时,用户都会被引导到另一个页面(answer.php),它会显示用户是否得到了正确的答案。还会显示一个继续按钮,以便用户可以继续下一个问题。
这就是我想要实现的目标:
问题结果
CORRECT / INCORRECT //取决于用户是否得到正确答案
正确答案: //插入正确答案
您的答案: //插入用户选择的答案(继续链接)
到目前为止,这就是我的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]
东西(我正在寻找的错误数组值),它在其他页面上给了我什么(我正在寻找的值)。
如果你们对我如何使我的代码更好和工作有任何建议,我将不胜感激!提前致谢!
第二个(如果这很长,我很抱歉,但我不想就同一个想法做单独的帖子)
我需要制作一个结果页面(result.php),一旦用户完成测验,就会显示整体结果。
示例输出:
老实说,我对如何做到这一点感到困惑,因为这是我第一次做这样的事情。
我的结果.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>
表中的值只是暂时存在,因为它让我思考得更好。如果让任何人感到困惑,我很抱歉!
再次非常感谢您的帮助!