php检查在线离线用户状态

时间:2018-06-16 23:02:31

标签: php status

检查用户是在线还是离线的最佳方法是什么? 在PHP中,有两个函数:

time();

strtotime();

如何使用它们检查状态?

1 个答案:

答案 0 :(得分:0)

简单来说,要检查用户状态,请执行以下操作:

1 - 在网站的每个文件中(如数据库文件或会话文件),使用time()函数进行查询以更新用户的上一个活动。

if(isset($_SESSION['id'])){
    $uid=$_SESSION['id'];
    $now=time();
    $update=$db->prepare("update users set last_act=$now where uid='$uid'");
    $update->execute();
}

在个人资料页面或您要显示用户状态的任何页面中,获取用户的last_activity记录,然后立即获取time(),然后减去它们,如果差异更大超过300(这是秒的差异),因此用户离线,否则用户在线。

if (isset($_GET['pid'])) {
    $now = time();
    if (is_int($_GET['pid'])) {
        $userid = $_GET['pid'];
    }

    $get_last_act = $db->prepare("select last_act from users where uid='$userid' ");
    $get_last_act->execute();
    $fetch = $get_last_act->fetch();
    $last_act = $fetch['last_act'];
    $difference = $now - $last_act;
    if ($difference > 300) {
        echo 'offline';
    }
    else {
        echo 'online';
    }
}