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")的值就可以了。
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
TA贡献1827条经验 获得超4个赞
可以配合session和application的使用
用户登录的时候需要验证信息,可以在这时候更改数据库的相应字段。然后把这个字段读出来赋给一个application变量,定时刷新application的显示就好了
- 3 回答
- 0 关注
- 123 浏览
添加回答
举报