如何显示正确的页码?

时间:2012-07-17 16:35:25

标签: php

  

可能重复:
  Why does this code not increment a counter properly?

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

我有demo你可以用来看看发生了什么:

  • 步骤1:打开应用程序时,在文本框中键入数字8 然后提交。
  • 第2步:您将在页面顶部看到“创建” 问题和答案:第1节第8节“这是正确的,因为你是 目前在8页的第一页上。
  • 第3步:现在点击底部的“提交详细信息”按钮 会看到它现在说“创造问题和答案:会话 2 OF 8“。再次这很好,因为你现在在第二页 八分之一。

以下是问题:

  • 步骤4:如果您单击“添加问题”按钮两次,您将看到 下面显示2行,两行都包含自己的图像文件上传 形式。

  • 第5步:点击“提交详细信息”按钮,您将意识到这一点 你不在第3页,因为它没有说明“创造问题和 答案:第8节第3节“,但它却说”创造 问题和答案:第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>

1 个答案:

答案 0 :(得分:1)

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

示例

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

这样,您就可以知道是否增加会话金额。