为了账号安全,请及时绑定邮箱和手机立即绑定

如下所示,请问asp如何利用数据库显示在线人员列表?有什么办法吗?

如下所示,请问asp如何利用数据库显示在线人员列表?有什么办法吗?

C PHP
慕神8447489 2022-04-08 11:07:32
asp如何利用数据库显示在线人员列表,就是在用户上线的时候把用户的在线状态改为1,用户下线的时候改为0,然后在网页上可以显示出用户的在线名单很不错,但是当用户下线的时候,要怎么吧数据库里面用户的状态改为0
查看完整描述

3 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

建议不要用数据库来做这个功能,因为如果用户退出时都老老实实的点“退出登录”的话还行,如果他们直接关闭浏览器的话,状态就无法还原为0了。

应该用Application变量来实现,每当有用户开启会话时,变量加1,结束会话时,变量减1。在global.asa中这样写:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Application("ActiveUsers") = 0 ' 设置计数初始值
End Sub

Sub Session_OnStart
Session.Timeout = 60' 根据需要,设置超时时间
End Sub

Sub Session_OnEnd
Application.Lock
if Application("ActiveUsers")>0 then Application("ActiveUsers") = Application("ActiveUsers") - 1 ' session关闭时减少来访者计数
Application.UnLock
End Sub
</SCRIPT>

然后在页面中显示Application("ActiveUsers")的值就可以了。



查看完整回答
反对 回复 2022-04-11
?
烙印99

TA贡献1829条经验 获得超13个赞

运用数据库。select username from user where flag=1
输出rs("username")
<%
dim rs
Set rs= Server.CreateObject("ADODB.Recordset")

sql="select username from user where flag=1
"
rs.Open sql,conn,1,1
%>

<%do while not rs.eof%>

<table><tr><td>

rs("username")
</td></tr></table>

<%
i=i+1

rs.movenext
loop
rs.close
set rs=nothing
%>

update user



查看完整回答
反对 回复 2022-04-11
?
GCT1015

TA贡献1827条经验 获得超4个赞

可以配合session和application的使用
用户登录的时候需要验证信息,可以在这时候更改数据库的相应字段。然后把这个字段读出来赋给一个application变量,定时刷新application的显示就好了

查看完整回答
反对 回复 2022-04-11
  • 3 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信