【问题标题】:how to increment a counter only if it is a new session?仅当它是新会话时如何增加计数器?
【发布时间】:2016-06-09 18:05:53
【问题描述】:

我有一个 php 计数器脚本,它只是从文本文件中读取访客编号,将其递增 1 并将新值写入同一个文本文件。 这当然会计算每次页面刷新,但我只想计算唯一访问者,而不计算页面刷新。我怎样才能做到这一点? 我尝试在我的主文件的开头开始一个会话,然后检查会话是否存在,但是因为加载文件时会话总是存在,所以计数器永远不会增加......我可能错过了一些愚蠢的东西......有人可以指出我在正确的方向?谢谢

【问题讨论】:

  • "有人能指出我正确的方向吗?" - 当然 =>>> php.net/manual/en/features.sessions.php
  • 这是非常基本的。 if (!isset($_SESSION['counter'])) { $_SESSION['counter'] = true; /* update, increment file */ } 所以你需要在会​​话再次增加之前销毁或过期会话。记得先拨打session_start();
  • @marcnyc 请在问题中发布您的代码,而不是 cmets。

标签: php session counter


【解决方案1】:

你可以设置一个标志,如果它不存在,那么你做一些动作:

session_start();

if(!isset($_SESSION['started'])){
    $_SESSION['started'] = true;
    //Increment your counter here
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2020-10-04
    • 1970-01-01
    相关资源
    最近更新 更多