【发布时间】:2017-12-20 10:06:27
【问题描述】:
我正在创建一个类似http://www.sqlquiz.com/ 的测验系统,但结果页面有问题。 我已经创建了 4 个页面
index.php ---->welcomePage 我在查询字符串中使用了变量 n
index.php
<p><a href="quizmain.php?n=1">Start SQL Quiz</a></p>
2.quizmain.php------------>此页面显示问题及其选项和之后 获得每个问题的响应,它将转到计算分数的 process.php 页面,并且每次计数器增加 1,以便在达到第 10 个问题后显示最终结果页面
quizmain.php
<?php
session_start();
require_once("connection.php");
extract($_REQUEST);
$number = (int) $_GET['n']; //starting value 1
echo $number;
$n1=rand(1,100);
$_SESSION['RQuestionNumber']=$n1;
$q=mysql_query("select * from quiz WHERE qno = '".$n1."'");
$a=mysql_fetch_array($q);
echo $a['qno'];
echo $a['ans'];
?>
<body>
<table>
<tr>
<td width="757" height="390"><div align="center">
<form method="post" action="process1.php">
<input type="radio" name="question" value="a" />
<?php echo $a[2]?></label>
</p>
<p><br />
<label>
<input type="radio" name="question" value="b" />
<?php echo $a[3]?></label>
</p>
<p><br />
<label>
<input type="radio" name="question" value="c" />
<?php echo $a[4]?></label>
</p>
<p><br />
<label> </label>
<label>
<input type="radio" name="question" value="d" />
<?php echo $a[5]?></label>
</p>
<p> </p>
<p>
<label>
<input type="submit" value="Submit" name="Submit" />
<input type="hidden" name="number" value="<?php echo $number; ?>" />
</form>
</label>
<br />
<br />
<br />
</p></td>
</tr>
</table>
</body>
</html>
process.php
<?php
session_start();
require_once('connection.php');
extract($_REQUEST);
//Check to see if score is set_error_handler
if(!isset($_SESSION['score'])){
$_SESSION['score'] = 0;
}
if($_POST)
{
$number = $_REQUEST['number']; //value of number is 1 initially
$selected_choice = $_REQUEST['question'];
$next = $number+1; //
$total=10;
$_SESSION['RQuestionNumber'];
$q = mysql_query("SELECT ans FROM quiz WHERE qno = '".$_SESSION['RQuestionNumber']."'");
$result=mysql_fetch_array($q);
//$store=array();
//Compare
if($result[0][0] == $selected_choice){
//Answer is correct
$_SESSION['score']++;
}
//Check if last question
if($number == $total){
header("location: resultTable.php");
exit();
} else {
header("location: quizmain.php?n=".$next); //now the value of n is 2
}
}
?>
resultTable.php
现在在此页面中,我想打印测验期间出现的所有问题(同一组问题)以及标记的答案和正确的答案 我尝试过使用会话变量,但它不起作用。
<?php session_start(); ?>
<p>Final Score: <?php echo $_SESSION['score']; ?></p>
<?php session_destroy(); ?>
【问题讨论】:
-
process.php中的行$_SESSION['RQuestionNumber'];看起来不对 - 没有设置值 - 这不应该是$_SESSION['RQuestionNumber']=$number;吗??
标签: php mysql database session