【问题标题】:PHP: Unique visits/hits to specific items using cookies/ipPHP:使用 cookie/ip 对特定项目的唯一访问/点击
【发布时间】:2009-08-01 02:28:15
【问题描述】:

我使用一个简单的 MySQL 表来计算网站中特定页面/项目的日点击量。使用“id”列表示页面/项目 ID,“日期”表示访问/点击日期,“点击”列表示点击次数。

每次有人访问该页面时,该特定日期的点击值都会更新为 +1。

但是,每次刷新或重新访问页面时,该值都会再更新一次,我需要一种方法将页面 ID 保存在 cookie 中或将访问者 IP 保存在数据库中,以便仅更新一次点击。

我从来没有使用过 cookie,所以我真的不知道该怎么做,也不知道数据可以存储在 cookie 中的限制。

我认为将访问者的 IP 地址保存在数据库中真的是浪费 queires 和 bandwitch,而且我读到它并不总是能够获得真正的 IP,这可能会导致一些问题和一些点击不更新。

我还读到最好不要过多使用 GLOBAL 变量...

有人可以解释一下最好的方法和方法吗??

谢谢!

【问题讨论】:

    标签: php cookies count


    【解决方案1】:

    如果您希望将 cookie 作为 PHP 变量处理,您很可能非常熟悉,我会使用会话。

    session_start()
    $page = 1; // Page ID
    if(isset($_SESSION[$page]))
    {
        // Do something if the person refreshed
    }
    else
    {
         $_SESSION[$page] = time();
         // record hit.
    }
    

    在 $page 变量中获取页面 ID,并将其保存在会话中。会话类似于 cookie,只是它保存在服务器端。

    基本上,如果有一个具有该页面 ID 的变量,它将什么也不做,否则它会记录一次命中并设置该变量。

    您可以查看本教程以了解有关会话的更多信息:http://www.tizag.com/phpT/phpsessions.php

    与 Cookie 一样,会话只会持续一定时间。所以它会在几天后记录一次访问。

    您甚至可能想要手动检查上次访问时间是什么时候。如果超过一个小时,请录制新的热门歌曲,因为它们可能不仅仅是令人耳目一新。

    【讨论】:

      猜你喜欢
      • 2019-07-21
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2011-05-30
      • 1970-01-01
      • 2020-09-02
      相关资源
      最近更新 更多