您好我想每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&gt; 30,然后将“LoggedIn”设置为0。
它不起作用,因为LastTimeActive仍然是相同的,因为join_date ......它没有改变。
答案 0 :(得分:0)
你有没有检查过从AJAX正在调用的PHP脚本中获取你的Z_id会话变量
您需要在访问会话之前访问会话的每个页面上执行此操作:
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
}
?>