gpt4 book ai didi

php - 检查用户是否在线

转载 作者:行者123 更新时间:2023-11-30 00:45:05 25 4
gpt4 key购买 nike

您好,我想每 10 秒更新一次 LastActive 行(类似于心跳),所以我这样写:

$(document).ready(function()
{
var checkOn = setInterval(function()
{
$.get("cm/check-online.php");
}, 10000);
});

<?php
require_once("config.php");

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

$my_id = $_SESSION['z_id'];

$q_update_myself = "UPDATE acc SET LastTimeActive='NOW()' AND LoggedIn='1' WHERE z_id='$my_id'";
$do_q_update_myself = mysqli_query($dbc, $q_update_myself);
?>

但这不起作用,我不知道如何解决它:|我需要这个,因为我使用脚本来遍历所有用户,如果他的 LastTimeActive > 30,那么它将“LoggedIn”设置为 0。

它不起作用,因为 LastTimeActive 仍然相同,如 join_date...它不会改变。

最佳答案

您是否检查过是否从 AJAX 调用的 PHP 脚本获取 Z_id session 变量

在访问 session 之前,您需要在每个访问 session 的页面上执行此操作:

 session_start();

这对你有用吗?

<?php
require_once("config.php");
session_start();

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

$my_id = $_SESSION['z_id'];
$time_now = date("Y-m-d H:i:s")

if(isset($my_id) && !empty($my_id)){
$q_update_myself = "UPDATE acc SET LastTimeActive='$time_now' AND LoggedIn='1' WHERE z_id='$my_id'";
$do_q_update_myself = mysqli_query($dbc, $q_update_myself);
}else{
//error No Z_ID
}
?>

关于php - 检查用户是否在线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21446863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com