【问题标题】:How to make a counter for unique visitors for my webpage in php codeigniter?如何在 php codeigniter 中为我的网页的唯一身份访问者创建一个计数器?
【发布时间】:2017-10-23 20:15:40
【问题描述】:

我正在尝试使用 IP 和会话为 CodeIgniter 中的唯一身份访问者创建一个计数器,但这对我来说似乎无法正常工作,我想使用 cookie 来实现。所以,我在我的 Controller 中编写了这个函数 -

function counter()
{
    $this->load->helper('cookie');
    $visitor = $this->input->cookie(urldecode(), FALSE);
    $ipadrs = $this->input->ip_address();
    if ($visitor == false)
    {
        $cookie = array(
            "name" => urldecode(),
            "value" => "$ipadrs",
            "expire" => time() + 7200,
            "secure" => false);
        $this->input->set_cookie($cookie);
        $this->news->update_counter(urldecode());
    }
}

但这不起作用,我的模型中有 update_counter 功能。

我想我错过了一些非常基本的东西,有什么解决方案吗?

【问题讨论】:

    标签: php mysql codeigniter cookies session-cookies


    【解决方案1】:

    cookie 无法计算唯一身份访问者,

    cookie 通常用于识别用户。 cookie 是服务器嵌入在用户计算机上的一个小文件。每次同一台计算机通过浏览器请求页面时,它也会发送 cookie。使用 PHP,您可以创建和检索 cookie 值。 cookie 不是服务器端,因此不计算您的唯一用户。

    http://coursesweb.net/php-mysql/register-show-online-users-visitors_t

    这是一个很好的教程,是你需要的。

    【讨论】:

      【解决方案2】:
      function counter()
      {
          $this->load->helper('cookie');
          $visitor = $this->input->cookie(urldecode(), FALSE);
          $ipadrs = $this->input->ip_address();
          if ($visitor == false)
          {
              $cookie = array(
                  "name" => urldecode(),
                  "value" => "$ipadrs",
                  "expire" => 7200,
                  "secure" => false);
              $this->input->set_cookie($cookie);
              $this->news->update_counter(urldecode());
          }
      }
      

      【讨论】:

      • @Aman 请尝试解释您的答案以更好地理解您提供的代码。
      • @Arman 不要发布来自 2 个不同帐户的答案。编辑您的答案以获得更好的说明或发表评论,而不是从新帐户发布新答案。
      猜你喜欢
      • 1970-01-01
      • 2013-09-18
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 2012-02-15
      • 1970-01-01
      相关资源
      最近更新 更多