标题:校验用户是否在线
只看楼主
lihaorong
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2013-8-13
 问题点数:0 回复次数:2 
校验用户是否在线
我在服务器运行一个ASP,用来检测用户在线的。
主要是在用户表,设立一个字段,客户端每隔一分钟,更新该字段。
然后服务器的asp没隔150秒,比较一次这个字段的值。如果相同则判定为下线,更新在线状态。
但是不知道为什么服务器运行该ASP却提示"无法显示该网页"。
请各位帮忙看看是不是代码哪里出错了?谢谢
代码如下:
程序代码:
<!--#include file="incs/conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="refresh" CONTENT="150">
<title>服务器运行中</title>
</head>
<%
sql="select * from SYS_USER"
rs.open sql,conn,1,3
flash_user=""
Do While NOT rs.EOF
   flash_user=flash_user&"|"&rs("USER_ID")&","&rs("reflash")
   rs.movenext
Loop
rs.close
'拆分大数组成小数组,变成(用户ID,刷新值)
   newn=ubound(split(flash_user),"|"))
   newary = split(flash_user,"|")
'如果session非空  
if session(flash_user)<>"" then
'拆分session成(用户ID,刷新值)
   oldn=ubound(split(session(flash_user),"|"))
   oldary = split(session(flash_user),"|")
   '拆分个别用户数组
   for i=1 to oldn-1
      olduser=split(oldary(i),",")
      newuser=split(newary(i),",")
      '校验刷新值,如果相同则判定为下线  
      if olduser(1)=newuser(1) then
         sql="select * from SYS_USER where USER_ID="olduser(0)
         rs.open sql,conn,1,3
         rs("online")=0
         rs.update
         rs.close
      end if 
   next
end if 
'更新session
sql="select * from SYS_USER"
rs.open sql,conn,1,3
session(flash_user)=""
Do While NOT rs.EOF
   session(flash_user)=session(flash_user)&"|"&&rs("USER_ID")&","&rs("reflash")
   rs.movenext
Loop
%>
<body leftmargin="0" topmargin="0">
服务器运行中
</body>
</html>

搜索更多相关主题的帖子: 在线状态 服务器 在线的 客户端 color 
2014-04-29 17:10
lihaorong
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2013-8-13
得分:0 
程序代码:
<%
sql="select * from SYS_USER order by user_id asc"
rs.open sql,conn,1,3
flash_user=""

Do While NOT rs.EOF
   id=rs("USER_ID")
   re=rs("reflash")
   flash_user=flash_user&"|"&id&","&re
   rs.movenext
Loop
rs.close
'拆分大数组成小数组,变成(用户ID,刷新值)
newary = split(flash_user,"|")
'如果session为空  
if session(flash_user)="" then
   '更新session
   session(flash_user)=flash_user
else
   '拆分session成(用户ID,刷新值)
   oldn=ubound(split(session(flash_user),"|"))
   oldary = split(session(flash_user),"|")
   '拆分个别用户数组
   for i=1 to oldn
      olduser=split(oldary(i),",")
      newuser=split(newary(i),",")
      '刷新值如果相同则判定为下线  
      if olduser(1)=newuser(1) then
         sql="select * from SYS_USER where USER_ID="& olduser(0)
         rs.open sql,conn,1,3
         rs("online")=0
         rs.update
         rs.close
      end if 
   next
end if
%>
2014-04-30 09:33
lihaorong
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2013-8-13
得分:0 
原来少了个&
2014-04-30 09:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430824-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126177 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved