可能重复:
为什么这段代码不能正确增加计数器?
我在显示正确的页码时遇到了问题。
我有一个演示,您可以使用它来查看发生了什么:
- 第 1 步:打开应用程序时,在文本框中输入数字 8,然后提交。
- 第 2 步:您将在页面顶部看到“创建问题和答案:第 1 次,共 8 次”这是正确的,因为您目前位于 8 次中的第一页。
- 第 3 步:现在单击底部的“提交详细信息”按钮,您会看到它现在显示“创建问题和答案:第 2 次,共 8 次”。同样,这很好,因为您现在位于 8 页中的第二页。
下面是问题:
第4步:如果你点击“添加问题”按钮两次,你会看到下面出现2行,这两行都包含自己的图像文件上传表单。
第 5 步:单击“提交详细信息”按钮,您将意识到您不在第 3 页,因为它没有说明“创建问题和答案:第 3 节,共 8 节”,而是说明“创建问题和答案:第 5 节,共 8 节
我相信它这样做的原因是因为当您单击“提交详细信息”按钮时,它会提交整个表单,而且还有几个图像文件上传表单附加到一行中,它也在计算它们在提交中,这就是为什么它说我们在第 5 页而不是第 3 页。
所以我的问题是,为了能够显示正确的页码,我需要在代码中进行哪些更改?每次用户单击“提交详细信息”按钮时,它应该每次只计算页码+1。
以下是它当前如何计算页码以及如何将其显示在顶部的代码:
<?php
session_start();
if(isset($_POST['sessionNum'])){
//Declare my counter for the first time
$_SESSION['initial_count'] = $_POST['sessionNum'];
$_SESSION['sessionNum'] = intval($_POST['sessionNum']);
$_SESSION['sessionCount'] = 1;
}
else if ($_SESSION['sessionCount'] < $_SESSION['sessionNum']) {
$_SESSION['sessionCount']++;
}
$sessionMinus = $_SESSION['sessionCount'];
?>
...
<h1>CREATING QUESTIONS AND ANSWERS: SESSION <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_count'] ?></h1>