PHP实现一个账号同一时间只能一人登陆,给出源代码!

用户登录后在数据库中记录一个字段为1,该用户非法退出怎样改变数据库的值为0。请大家给出合理的代码!一定要有源代码,不然不采纳!

第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的, 就属于非法退出
相似回答