【问题标题】:How can I add Unique Visit counter for a website? [closed]如何为网站添加唯一访问计数器? [关闭]
【发布时间】:2017-04-17 06:01:47
【问题描述】:

我想为一个 PHP 网站制作一个独特的访问计数器。我不想通过刷新页面来增加数量。
这不像简单的访问计数器。我尝试了几个计数器,但它们通过刷新页面来增加计数。
有什么想法..?

【问题讨论】:

标签: javascript php web unique


【解决方案1】:

如果您想手动完成,为您的网站设置计数器的最简单方法是使用会话。

首先,当您的网站链接打开时,启动一个会话并在 php 中注册一个计数器变量为 $_SESSION['count'] = 1,然后将其加一。

现在使用简单的 if-else 语句来检查 $_SESSION['count'] 值是 1 还是大于 1,如果 1 则通过 ajax 向服务器发送请求,以便在首次访问您的网站时存储该单个计数在您的数据库表中(意味着您只需更新数据库中表的列值)。

现在,如果用户关闭他/她的浏览器,那么会话将被自动销毁,否则如果您有登录类型访问您的网站,那么只需在检查“$_SESSION['count”的注册值的任何条件之前取消设置该会话变量']",因此不会生成任何请求来更新数据库中服务器的访问计数。

为了区分登录用户和访问者,只需使用另一个会话变量并使用它来确定是否设置 $_SESSION['count'] 变量。 我为您提供了一个代码 sn-p,以便您可以理解我要解释的内容。

<?php
    session_start();
    //Check logged in session variable if variable not set then execute 
    // following code block
    if(isset($_SESSION['count']) {
        if($_SESSION['count'] == 1)
            //your ajax request to store visit count in db (executed only once)
        $_SESSION['count']++;
    } else {
        $_SESSION['count'] = 1;
    }
?>

我希望这个 sn-p 可以让您至少了解如何完成它。 谢谢你的期待..!!! :):)

【讨论】:

  • 这样做只会计算您刷新页面的次数......为了真正创建命中计数器,php 本身是不够的。您可能希望每个客户端都访问服务器,并且仅在此时增加上述 sn-p 中的计数器。您可以通过 ajax 请求执行此操作...
  • 谢谢!使用 Session 我已经解决了这个问题并实现了一个独特的计数器!
猜你喜欢
  • 2014-08-08
  • 2021-03-30
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多