-1

可能重复:
为什么这段代码不能正确增加计数器?

我在显示正确的页码时遇到了问题。

我有一个演示,您可以使用它来查看发生了什么:

  • 第 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>
4

1 回答 1

1

create_session2.php中,您需要区分添加和提交详细信息的问题。例如,尝试使用isset($_POST['submitDetails']). submitDetails只有当您的用户单击您的按钮进入表单时,才会设置此变量。

示例

...
if (isset($_POST['submitDetails'])) {
    session++;
}
...

这样,您将知道是否因此增加会话数量。

于 2012-07-17T16:39:28.247 回答