PHP不要在刷新时运行代码

时间:2009-10-01 03:34:25

标签: php

所以我有这个页面只能被用户看到5次。我创建了这个进入数据库的代码,每次用户登录时它都会向AccessCount字段添加1。我想要做的是,如果用户刷新他的Web浏览器,请记录AccessCount NOT代码。< / p>

我该怎么做?谢谢!

4 个答案:

答案 0 :(得分:3)

计算生成要限制的页面的php脚本的执行次数,而不是计算登录次数。您可以使用$ _SESSION和session函数来维护和检索运行脚本的用户的ID

答案 1 :(得分:1)

如果计数器仅在用户登录时递增,则仅在记录它们的代码部分中递增(设置cookie,会话变量等),无需担心页面重新加载。

否则无法检测用户的新“访问”与页面重新加载。您可以设置一个时间范围,在该时间范围内,他们可以刷新页面而不会使计数器递增。

答案 2 :(得分:0)

通常,您会在另一个页面中进行计数,并将用户传递给他们在计数增加后应该只看到5次的页面。它类似于提交表单后的操作,将表单提交到将数据输入数据库的页面,然后将浏览器传递给新页面,告诉它已完成。这样重新加载页面不会继续使用表单数据更新数据库,也不会使用计数数据更新数据库。

答案 3 :(得分:0)

您必须使用会话来解决问题。以下代码适用于您的目的。

session_start();

function incrementAccessCount() {
    if (empty($_SESSION['loggedin'])) {

        /* mysql code to increment access count */

        $_SESSION['loggedin'] = 1;
    }

}

incrementAccessCount();