📄 online.asp
字号:
<!--#include file="const.asp"-->
<%
Dim artime,userwz,LoginUser,idtitle,logintime,onlinenum1,onlinenum2,onlinenum3,onlinenum4,Online1,Online2,i,j
artime=20 '设定不在线的时间,单位分钟
'清除在规定时间内不活动的在线数据
If Len(Application(BBSname&"Online"))>0 then
Online1=Split(Application(BBSname&"Online"),"#")
Application.Lock
Application(BBSname&"Online")=""
For i=0 to UBound(Online1)
Online2=Split(Online1(i),"|")
If datediff("n",Online2(5),now())<artime then
if len(Application(BBSname&"Online"))>0 then Application(BBSname&"Online")=Application(BBSname&"Online")+"#"+Online1(i) else Application(BBSname&"Online")=Online1(i) end if
end if
Next
Application.UnLock
End if
'接收用户所在的论坛位置
userwz=Request.QueryString("userwz")
'下面程序,处理内存中在线情况
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then ipdress=Request.ServerVariables("REMOTE_ADDR") else ipdress=Request.ServerVariables("HTTP_X_FORWARDED_FOR") end if
LoginUser=Request.Cookies("LoginUser")
if LoginUser="" then '没有在线
Application.Lock
Application(BBSname&"LoginUserNum")=Application(BBSname&"LoginUserNum")+1
Application.UnLock
idtitle=cstr(Application(BBSname&"LoginUserNum"))+"-"+Request.ServerVariables("REMOTE_ADDR")
Response.Cookies("LoginUser")=idtitle
Application.Lock
if len(Application(BBSname&"Online"))>0 then Application(BBSname&"Online")=Application(BBSname&"Online")+"#"+idtitle+"|客人"+"|N"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+cstr(now()) else Application(BBSname&"Online")=idtitle+"|客人"+"|N"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+cstr(now()) end if
Application.UnLock
else
Online1=Split(Application(BBSname&"Online"),"#")
j=-1
for i=0 to UBound(Online1)
Online2=Split(Online1(i),"|")
if Online2(0)=Loginuser then j=i end if
Next
Application.Lock
if j=-1 then '已经在线但没有找到这个用户
if Request.Cookies("login")="Y" then
if len(Application(BBSname&"Online"))>0 then Application(BBSname&"Online")=Application(BBSname&"Online")+"#"+Loginuser+"|"+Request.Cookies("Username")+"|Y"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+cstr(now()) else Application(BBSname&"Online")=Loginuser+"|"+Request.Cookies("Username")+"|Y"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+cstr(now()) end if
else
if len(Application(BBSname&"Online"))>0 then Application(BBSname&"Online")=Application(BBSname&"Online")+"#"+Loginuser+"|客人"+"|N"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+cstr(now()) else Application(BBSname&"Online")=Loginuser+"|客人"+"|N"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+cstr(now()) end if
end if
else '已经找到在线的这个用户
Online2=Split(Online1(j),"|")
logintime=Online2(6)
if Request.Cookies("Login")="Y" then
Application(BBSname&"Online") = replace(Application(BBSname&"Online"), Online1(j), Loginuser+"|"+Request.Cookies("Username")+"|Y"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+logintime)
else
Application(BBSname&"Online") = replace(Application(BBSname&"Online"), Online1(j), Loginuser+"|客人"+"|N"+"|"+userwz+"|"+ipdress+"|"+cstr(now())+"|"+logintime)
end if
end if
Application.UnLock
end if
if Request.QueryString("dis")<>"NO" then
'下面的程序计算在线情况
Onlinenum1=0:Onlinenum2=0:Onlinenum3=0:Onlinenum4=0
Online1=Split(Application(BBSname&"Online"),"#")
For i=0 to UBound(Online1)
Online2=Split(Online1(i),"|")
Onlinenum1=Onlinenum1+1
If Online2(2)="Y" then Onlinenum2=Onlinenum2+1 end if
If Online2(3)=userwz then Onlinenum3=Onlinenum3+1 end if
If Online2(2)="Y" and Online2(3)=userwz then Onlinenum4=Onlinenum4+1 end if
Next
onlinenum="[总在线"+cstr(onlinenum1)+"人 注册用户"+cstr(onlinenum2)+"人] 当前["&userwz&"]位置"+cstr(onlinenum3)+"人 注册用户"+cstr(onlinenum4)+"人"
onlinenum="document.write(""" & onlinenum & """);"
response.write onlinenum
end if%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -