如何查看在线用户状态
问题描述:
如何更新到数据库状态= 1其中id = $ id登录后使用更新语句例如或单独的页面 请任何一个字符串如何看起来像?如何查看在线用户状态
这是一个成员地位的IM试图使它所以网上会员可以,有自己的网页
这只是观察部和明年更新部件
mysql_select_db("messages") or die(mysql_error());
$data = mysql_query("SELECT on_status FROM users WHERE id='$user_id'")
or die(mysql_error());
echo "<table border cellpadding=3 bgcolor=\"00FF00\">";
while($info = mysql_fetch_array($data))
{
echo "<tr>";
echo "<th>User:</th> <td>".$info['user_name'] . "</td> ";
echo "<th>Status:</th> <td>".$info['on_status'] . " </td></tr>";
}
echo "</table>";
?>
<p><br>
<a href="/home.php">Go Back</a><p>
答
添加一个名为场status
在用户表中。用户表中包含用户的所有数据。
UPDATE status
到online
当用户登录..这个代码将被放置验证用户名和密码后..
//例如:当您启动用户会话写这篇更新
当试图注销UPDATE status
到offline
用户..这个代码将被放置在session_destroy()
声明
答
旁边试试这个更新语句:
"UPDATE `users` SET `on_status` = 1 WHERE `id` = '$user_id'";
虽然,如果我可能会建议这样做:保留上次活动的时间戳。这样,如果页面未刷新超过5分钟(或更长时间),即使用户没有点击注销按钮,也可以将用户显示为“离线”。
可能的重复http://stackoverflow.com/questions/1084099/how-to-track-the-online-status-of-users-of-my-website –
我在代码中首先看到一个问题。你有id ='$ user_id而不是id = $ user_id或id ='$ user_id'。此外,如果你做WHERE id ='$ user_id',那么你会发现,基于理解'id'通常意味着什么,只有一个用户,所以你的表总是包含一行。这是你打算做什么? – Grzegorz