高手帮帮忙,最后的30分了!还是以前的问题,‘统计在线用户名的方法'

springcome 2003-12-30 01:21:48
我想的是和聊天室的效果一样,统计在线用户名
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
researchable 2003-12-30
  • 打赏
  • 举报
回复
在登陆页里面做两件事,一是判断session("username")是否为空,如果不为空,则设置session("username")值中的这个用户的online字段为0(表示不在线);然后将现在登陆的这个用户设置为在线(设置online为1)


比较保险
my0707 2003-12-30
  • 打赏
  • 举报
回复
用数据库+XMLHTTP

这是我前几天写的一篇文档,希望对你有用。

http://www.csdn.net/develop/read_article.asp?id=22940
Equn 2003-12-30
  • 打赏
  • 举报
回复
在登录程序里面把在线的人加到另外的一个表或设置表中标志位
退出的时候再改回来

每打开一个页面,就刷新用户最后在线时间
在刷新在线人数时,也判断最后在线时间到现在的间隔,超出一定时间就设为断线退出
潜水的鱼 2003-12-30
  • 打赏
  • 举报
回复
同意楼上,有时下线了,还显示在线,
possible_Y 2003-12-30
  • 打赏
  • 举报
回复
不够准确
possible_Y 2003-12-30
  • 打赏
  • 举报
回复
用Session_OnEnd不够准备
springcome 2003-12-30
  • 打赏
  • 举报
回复
二楼的哥哥
update Member_System set ms_sysonline=0 where ms_userid='"&session("tbuser")&"'"
这一句是更新离线的online标志吧
如果可以的话,加我的QQ
不明白的小妹在QQ上问你
11265333

yangzixp 2003-12-30
  • 打赏
  • 举报
回复
按照我的方法,如果不能解决我陪你!!!

1、在数据库中设置一字段标志用户是否在线,比如:online
2、在登陆页里面做两件事,一是判断session("username")是否为空,如果不为空,则设置session("username")值中的这个用户的online字段为0(表示不在线);然后将现在登陆的这个用户设置为在线(设置online为1)
3、关于非正常退出,比如关闭了浏览器就跑了在global.asa中处理,如下代码
Sub Session_OnEnd
Application.Lock
Application("ActiveUsers")=Application("ActiveUsers")-1
Application.unLock
if session("tbuser")<>"" then
dim conn
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={sql server};server=127.0.0.1;uid=***;pwd=***;database=***;"
sql="update Member_System set ms_sysonline=0 where ms_userid='"&session("tbuser")&"'"
conn.execute(sql)
conn.close
set conn=nothing
end if
End Sub
4、为了保险,再加一条,目的是重新启动服务器以后设置所有用户在线为0,目的是怕重新启动服务器的时候有用户在先。代码如下:

Sub Application_OnStart
Application("activeUsers")=0
dim conn
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={sql server};server=127.0.0.1;uid=***;pwd=***;;database=***;;"
sql="update Member_System set ms_sysonline=0 where ms_sysonline=1"
conn.execute(sql)
conn.close
set conn=nothing
End Sub
xieyj 2003-12-30
  • 打赏
  • 举报
回复
在 global.asa 文件里,在 application.start 和 application.end 分别写:
applicaion.start:
application("online")=application("online")+1
applicaion.end:
application("online")=application("online")-1

显示:
response.write "在线:"&application("online")&"人"

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧