嗨,伙计们,我想知道你们是否可以帮助我在while循环中递增。我正在使用php编程一个在线测验,希望每次他们选择提交按钮时都更新测验编号,但变量$questionNumber只停留在一个上
我的代码显示在下面
<?php session_start(); ?>
<html>
<head>
<title> World Cup Quiz </title>
</head>
<body>
<div align = center><strong> World Cup Quiz</strong></div>
<br />
<div align =center>
<?php
include ("dbConnect.php");
$_SESSION['number']=1;
$questionNumber = $_SESSION['number'];
$userScore=0;
$number= rand(1,4);
//search database for generated number and match ID
$dbQuery= "SELECT * FROM `questions 1.0` WHERE `ID` =$number";
$dbResult=mysql_query($dbQuery);
echo "Question:".$questionNumber."/5<br>";
//Assign variables to each attribute
while ($dbRow=mysql_fetch_array($dbResult))
{
$theID=$dbRow["ID"];
$theQuestion=$dbRow["Question"];
$theAnswer1=$dbRow["Correct Answer"];
$theAnswer2=$dbRow["Wrong Answer 1"];
$theAnswer3=$dbRow["Wrong Answer 2"];
$theAnswer4=$dbRow["Wrong Answer 3"];
$_SESSION['number']=$questionNumber+1;
}
//Print Questions and Answers
echo '<strong>'."$theQuestion".'</strong><br>';
?> <form name="correctAnswer" form method="post" action="quiz.php">
<?php
echo "$theAnswer1";?> <input type="radio" name="correctAnswer">
<?php
echo "<br>$theAnswer2"; ?> <input type="radio" name="wrongAnswer1">
<?php
echo "<br>$theAnswer3"; ?> <input type="radio" name="wrongAnswer2">
<?php
echo "<br>$theAnswer4"; ?> <input type="radio" name="wrongAnswer3">
<br><input type="submit" value="Submit Answer">
</form>
</div>
</body>
</html>
希望你能帮助
感谢
您正在重置脚本开头的数字:
$_SESSION['number']=1;
你需要把它改成类似于:
if (!isset($_SESSION['number']))
{
$_SESSION['number']=1;
}
您可以将代码的这一部分更改为以下内容。
而不是:`
$_SESSION['number']=1;
$questionNumber = $_SESSION['number'];
$userScore=0;
$number= rand(1,4);
写下:-
$number= rand(1,4);
$questionNumber = 0;
if(isset($_SESSION['number']))
{
$_SESSION['number'] = $_SESSION['number'] + 1;
$questionNumber = $_SESSION['number'];
}else{
$_SESSION['number'] = 1;
}
我认为问题是,在检查会话是否已经设置并有效之前,您将会话分配为等于1。
希望添加一些