繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 不用Global.asa也能实现统计在线人数

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

2006-05-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:可以的,看看下面的代码和说明: 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...

可以的,看看下面的代码和说明:

<%

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%>人在随风起舞流连忘返!

责任编辑:admin
相关文章