第1个回答 2010-09-20
可以再增加一个字段 lastactive 上次活动时间
用下面的代码来维持在线状态:
<?php
/* keeponline.php*/
header('Content-Type:text/javascript');
$uid = $_COOKIE['uid'];
mysql_connect('localhost', 'root', 'root');
mysql_select_db('test');
$time = time();
mysql_query("update online set lastactive='$time' where uid='$uid'");
?>
在所有页面的页尾加上这样的代码:
<script>
function keeponline() {
var o = document.createElement("SCRIPT");
o.src = 'keeponline.php?' + Math.random();
document.body.appendChild(o);
}
setInterval(keeponline, 5000); // 5秒维持一次
</script>
这样, 只要当前时间 - lastactive 大于5的, 就属于非法退出