我有一个网站正在创建,我希望能够看到谁在线和谁不在。查看谁在线并不困难,当您登录时,数据库中的“在线”字段将从0更改为1。但问题在于脱机。我没做到这一点IF人注销的注销按钮,然后被转到页logout.php:关闭浏览器更新数据库关闭
<?php
session_start();
$user_check=$_SESSION['login_user'];
if(session_destroy())
{
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("masterrad", $connection);
$query2 = mysql_query("update users set online = '0' where username = '$user_check'", $connection);
header("Location: index.php");
}
?>
但如果他只是关闭网页什么都不会更改数据库中的,因为他从来没有去到logout.php页面。
所以我想知道是否有更好的方法来做到这一点?
会话将自动删除自己,具体取决于您如何设置服务器的会话寿命。更新,那是另一个麻线球。谷歌“如果浏览器关闭,更新数据库”。你会发现很多结果。 – 2015-01-20 22:02:39
这是一个可怕的想法,但是你可以有一个“心跳”系统,每隔x分钟发送一次ajax请求。如果您没有收到答案,请将其标记为离线。 – 2015-01-20 22:03:04
是的,“心跳”__是一个可怕的想法。 – Kleskowy 2015-01-20 22:06:49