我希望从我的测验中获取所选单选按钮的值到数组中。目前我遇到了这方面的问题,即使我在测验页面上回应了所选的值,并且它正确地识别出选择了哪一个。但是,当用户进入结果页面时,数组将不会存储用户之前选择的任何值。
LoadQuiz.php代码
<?php
session_start();
$con=mysqli_connect("localhost:3307","root","usbw","degreeproject");
$quizid = $_GET['quizid'];
$sql = "SELECT * FROM questions WHERE QuizID = '$quizid'";
$result = mysqli_query($con,$sql);
$_SESSION['quiz'] = Array();
$_SESSION['quiz']['Question'] = Array();
$_SESSION['quiz']['CorrectAnswer'] = Array();
$_SESSION['quiz']['IncorrectAnswer1'] = Array();
$_SESSION['quiz']['IncorrectAnswer2'] = Array();
$_SESSION['quiz']['IncorrectAnswer3'] = Array();
$_SESSION['quiz']['SelectedAnswers'] = Array();
$_SESSION['quizlength'] = $result->num_rows;
while($row = $result->fetch_assoc())
{
$_SESSION['quiz']['Question'][] = $row['Question'];
$_SESSION['quiz']['CorrectAnswer'][] = $row['CorrectAnswer'];
$_SESSION['quiz']['IncorrectAnswer1'][] = $row['IncorrectAnswer1'];
$_SESSION['quiz']['IncorrectAnswer2'][] = $row['IncorrectAnswer2'];
$_SESSION['quiz']['IncorrectAnswer3'][] = $row['IncorrectAnswer3'];
}
if($_SESSION['quizlength'] > 0)
{
header("location: quiz.php?page=1");
}
else
{
echo("Error loading quiz");
}
?>
Quiz.php代码
<?php
session_start();
$con=mysqli_connect("localhost:3307","root","usbw","degreeproject");
$pageid = $_GET['page'];
$nextpage = $pageid + 1;
if(isset($_GET['submit']))
{
if($_GET['Answer'] == $_GET['CorrectAnswer'])
{
$_SESSION['quiz']['SelectedAnswers'][$pageid-2] = 1;
}
else
{
$_SESSION['quiz']['SelectedAnswers'][$pageid-2] = 0;
}
}
$Question = $_SESSION['quiz']['Question'][$pageid-1];
$CAnswer = $_SESSION['quiz']['CorrectAnswer'][$pageid-1];
$IAnswer1 = $_SESSION['quiz']['IncorrectAnswer1'][$pageid-1];
$IAnswer2 = $_SESSION['quiz']['IncorrectAnswer2'][$pageid-1];
$IAnswer3 = $_SESSION['quiz']['IncorrectAnswer3'][$pageid-1];
if($pageid < $_SESSION['quizlength'])
{
echo("<form action='quiz.php?page=".$nextpage."'>");
}
else
{
echo("<form action='quizresults.php'>");
}
if(isset($_GET['submit']))
{
$SAnswer = $_GET['Answer']; // Storing Selected Value In Variable
echo "You have selected :" .$SAnswer;
}
echo("<br>$Question,
<form>
<br>$CAnswer
<input type='radio' name='Answer' value= '$CAnswer' >
<br>$IAnswer1
<input type='radio' name='Answer' value= '$IAnswer1' >
<br>$IAnswer2
<input type='radio' name='Answer' value= '$IAnswer2' >
<br>$IAnswer3
<input type='radio' name='Answer' value= '$IAnswer3' >
<br>$pageid
<input type='hidden' name='page' value='$nextpage' >");
echo("<input type='submit' value='Select Answer' name='submit'>");
echo("</form>");
?>
QuizResults.php代码
<?php
session_start();
$con=mysqli_connect("localhost:3307","root","usbw","degreeproject");
if (isset($_SESSION["username"]))
{
echo("U " . $_SESSION["username"]);
$user = $_SESSION['username'];
}
else
{
header("location:login.php");
}
$Question = $_SESSION['quiz']['Question'];
$CAnswer = $_SESSION['quiz']['CorrectAnswer'];
$IAnswer1 = $_SESSION['quiz']['IncorrectAnswer1'];
$IAnswer2 = $_SESSION['quiz']['IncorrectAnswer2'];
$IAnswer3 = $_SESSION['quiz']['IncorrectAnswer3'];
$SAnswers = $_SESSION['quiz']['SelectedAnswers'];
print_r($_SESSION['quiz']);
$QuizTaken = TRUE;
if($QuizTaken==TRUE)
{
echo("<br>The Question Asked Was: ");
echo($Question = $_SESSION['quiz']['Question'][0]);
echo("<br>The Correct Answer Was: ");
echo($CAnswer = $_SESSION['quiz']['CorrectAnswer'][0]);
echo("<br>The Answer You Gave Was: ");
echo($SAnswers = $_SESSION['quiz']['SelectedAnswers'][0]);
}
else
{
echo("NO QUIZ HAS BEEN TAKEN");
}
?>
任何帮助将不胜感激。 感谢。