Heim  >  Artikel  >  Web-Frontend  >  判断用户是否在线的代码_javascript技巧

判断用户是否在线的代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 18:09:531435Durchsuche

考虑两种情况:
(1)用户关闭浏览器或重定向到其他网页

复制代码 代码如下:



说明:null.php用来将用户状态设为下线
(2)用户长时间不再浏览本网站
思路:创建表active_stat,属性有userid,lasttime,nowtime。用户每打开一次本网站,更改lasttime为当前时间now(),每隔1分钟更改nowtime为当前时间,判断nowtime-lasttime是否大于20分钟,若大于,则修改用户状态为下线
复制代码 代码如下:




offline.php
复制代码 代码如下:

//连接数据库
$userid=$_GET["userid"];
pg_exec("update active_stat set nowtime=now() where userid='".$userid."';");
$result=pg_exec($dbconn,"select (nowtime-lasttime) as activetime from active_stat where userid='".$userid."'");
$str=pg_result($result,0,"activetime");
if(strlen($str)>16){
$array=explode(" ",$str);
$t=explode(":",$array[1]);
$t[0]=$t[0]+$array[0]*24;
$s=explode(".",$t[2]);
$t[2]=$s[0];
$y=((int)$t[0])*3600+((int)$t[1])*60+((int)$t[2]);
}
else{
$total_time=explode(".",$str);
$x=explode(":",$total_time[0]);
$y=((int)$x[0])*3600+((int)$x[1])*60+((int)$x[2]);
}
if($y>=1200){
pg_exec("update users set status='f' where userid='".$userid."';");
}
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn