php判断用户是否在线
//建一个表分别记录 用户名和最后活动时间
//用户每访问一个页面 更改最后活动时间为当前时间
//如果该用户名超过指定时间未更新字段则为离线状态
下面是一个简单的例子:
$conn="";//设置一个变量链接数据库
数据库表:′new′ 字段: ′name′,′time′
$name=′安林网络1号′;
$select=mysql_query("select*from new where name=′$name′",$conn);
$fetch=mysql_fetch_array($select);
if($fetch[time]+60>time()){echo′当前用户在线′;}else{echo′当前用户离线′;}
$name=′安林网络2号′;
$select=mysql_query("select*from new where name=′$name′",$conn);
$fetch=mysql_fetch_array($select);
if($fetch[time]+60>time()){echo′当前用户正在浏览网站′;}else{echo′当前用户离线′;}
如果用户停留在页面则使用js自动后台更新在线状态 var g=1; while(g<5){ var anlin=g*5000; setTimeout(loadXMLDoc(),anlin);//每隔5秒后台执行一次,安林网络 g++;} function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { // alert("Yes"); } } var urll="url地址"; xmlhttp.open("GET",urll,true); xmlhttp.send(); }
通过判断用户是否在线防止其他人登录
$name=′安林网络3号′;
$select=mysql_query("select*from new where name=′$name′",$conn);
$fetch=mysql_fetch_array($select);
if($fetch[time]+60>time()){exit(′当前用户已登录′);}else{$_SESSION[′name′]=$name;
echo′登录成功′;} [/code]