PHP - 连续页面访问

时间:2011-02-22 16:23:28

标签: php mysql

我的问题很简单:如何计算访问者访问我网站的连续天数(php),欢迎任何想法。

3 个答案:

答案 0 :(得分:6)

简单:

只是有一些登录概念或持久性cookie(登录更可靠,因为他们可以清除cookie)。然后在您的数据库中有一个“上次登录”字段。如果上次登录的字段与昨天的日期匹配,则递增您的连续访问次数,否则重置它。

编辑:这可能是显而易见的,但请确保在今天检查后更新“上次登录”字段,否则每次加载页面时都会增加计数!

编辑:一个快速示例可能看起来像这样(伪代码):

// first you need to set $last seen from the DB..
// first you need to set consecutive from the DB too..
// once you have, you can do something like this.
if(strtotime('-1 day', date('Y-m-d')) == $last_seen) {
    $consecutive = $consecutive + 1;
    mysql_query(sprintf('UPDATE user SET last_seen=NOW(),consecutive=%d WHERE id=%d', $consecutive + 1, $id)); 
} else if(date('Y-m-d') == $last_seen) {
    // ok, they logged in today again, do nothing.
} else {
    $consecutive = 0; // only really needed if you plan on displaying it to the user
                      // later in this script
    mysql_query(sprintf('UPDATE user SET last_seen=NOW(),consecutive=0 WHERE id=%d',$id)); 
}

答案 1 :(得分:1)

饼干

if(isset($_COOKIE["identifier"])){
   // log as existing user
}else{
  setcookie('identifier', $id_value, ...
}

如果人们清除饼干,它就无法工作,这就是他们清除饼干的原因。

答案 2 :(得分:1)

您可以使用可插拔的流量分析工具,不论是商业用途,还是Google Analytics等。