在我的网络系统中,我有3个文件,分别是database.php,functions.php,dashboard.php
这是我的dashboard.php文件的样子
<?php
$i = NULL;
if (isset($_POST['next'])) {
$i = getQuizes($i);
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input name="next" value="Next" type="submit">
</form>
functions.php如下所示
function getQuizes($quizNo)
{
if($quizNo==NULL)
{
$quizNo=0;
}
include_once('database.php');
$sql = "SELECT * FROM quiz LIMIT ".$quizNo.",1";
$result = $conn->query($sql);
while($row=$result->fetch_assoc())
{
echo $row['question'],$quizNo;
}
$quizNo++;
return $quizNo;
}
当我点击提交按钮数据时,转到functions.php文件并返回到dashboard.php然后再次$ i变为NULL。 我可以只为第一次分配NULL。如果是,我该怎么办呢。
答案 0 :(得分:3)
将$i
存储在会话中并在每个请求中加载它,如果它未在$_SESSION
设置$i
设置为NULL
<?php
$i = isset($_SESSION['next']) ? $_SESSION['next'] : NULL;
if(isset($_POST['next']))
{
$i = getQuizes($i);
$_SESSION['next'] = $i;
}?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input name="next" value="Next" type="submit">
</form>