程序员

不用Global.asa也能实现统计在线人数吗?

作者:admin 2021-04-13 我要评论

不用 Global.asa 也能实现统计在线人数吗? % sessionID = session.SessionID timeout = 5 ' 设置 session 保持的时间 . Conn_String = "DRIVER={Microsoft Acce...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

不用Global.asa也能实现统计在线人数吗?

<%
sessionID = session.SessionID
timeout = 5
'
设置session保持的时间.

Conn_String = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("count.mdb")
'Conn_String = "activeUser"
'
最好设置DSN = "activeuser",因为我们需要在所有的ASP脚本中包含这个文件.

Set ConnCount =Server.CreateObject("ADODB.Connection")
ConnCount.Open Conn_String

aaa = dateadd("n", -timeout, now())
connCount.Execute ("delete * from count where postdate < #" & aaa & "#")
'
在超时后删除session.

sql0 = "select sess from count where sess='" & sessionID & "'"

' 保持sessionID.
set rscheck = connCount.Execute (sql0)
if rscheck.eof then
sql = "insert into count (sess,postdate) values('" & sessionID & "', '" & now() & "')"
connCount.Execute (sql)
end if
rscheck.close
set rscheck = nothing

sql2 = "select count(sess) from count"

' 计算sessionID.
set rs = connCount.Execute (sql2)
count = rs(0)

rs.close
set rs = nothing

sql3 = "select * from count"
set rspredel = connCount.Execute (sql3)
do until rspredel.eof
xxx=DateDiff("n", rspredel("postdate"), Now())
if xxx > timeout then
count = count-1
end if
rspredel.movenext
loop
rspredel.close
set rspredel = nothing

connCount.Close
set connCount = nothing

if count = 0 then
count = 1
end if
%>

当前正有<%=count%>人在随风起舞流连忘返!

 

[1]


本文转载自网络,原文链接:https://m.jb51.net/article/4758.htm

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 四两拨千斤——你不知道的VScode编码Ty

    四两拨千斤——你不知道的VScode编码Ty

  • 我是如何在 Vue 项目中做代码分割的

    我是如何在 Vue 项目中做代码分割的

  • position:sticky 粘性定位的几种巧妙应

    position:sticky 粘性定位的几种巧妙应

  • 从零到一搭建React组件库

    从零到一搭建React组件库