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] 濠电偞鍨堕幐鎼佀囬柆宥呮槬鐎广儱顦粈鍌炴倵閿濆骸浜濋柣鎺戞健閺屻劌鈽夐搹顐㈩伓闂備胶枪缁绘劙鎮ч幘姹団偓鍌烆敃閿曗偓缁€鍡涙煥閻曞倹瀚�闂備焦瀵х粙鎴﹀嫉椤掑倻鐜婚柟閭﹀枓閸嬫挾鎲撮崟顓犵暤闂侀潧娲らˇ鐢稿箖椤曗偓椤㈡洟顢楅崒婊庢Х濠电偛鐡ㄧ划鐘诲礂濞戞氨绠旈柕蹇嬪€曢悿顕€鏌涢埄鍐炬畼闁告ɑ妫冮弻銊モ槈濡粯鎷遍柣搴㈡皑閸嬫挸顕ラ崟顐僵妞ゆ帒顦伴埢鍏肩箾閹寸偞灏ㄩ柛瀣尵缁辨捇宕橀埡浣轰桓婵犫拃宥咁洭濞存粍鎮傞弫鎾绘晸閿燂拷