asp 统计在线人数、每日的访问量、总访问量

在Global.asa文件中加入如下的代码:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 

Sub Application_OnStart

'当服务器开启时,设置在线用户计数器为0 
Application("ActiveUsers") = 0

'设置每天访问量为0
Application("EveryDayUsers") = 0
'访问的时间为
Application("RecordDate") = "2009-01-01"

End Sub 

Sub Session_OnStart 

'设置Session对象的有效时间为20分钟(也可以更长,但是越长对服务器的资源'占用越多,因为服务器不接受少于20分钟的有效时间,所以设置少于20分钟的'有效时间是无效的) 
Session.Timeout = 30 

' 当开始一个Session时在线用户计数器加1 
Application.Lock 
Application("ActiveUsers") = Application("ActiveUsers") + 1  

'每天的访问量加1
if Application("RecordDate") <> Date() Then
	Application.Lock
	Application("RecordDate") = Date()
	Application("EveryDayUsers") = 1
	Application.UnLock
else
    Application.Lock
	Application("EveryDayUsers") = Application("EveryDayUsers")+1
	Application.UnLock
end if

'统计总访问量
CountFile=Server.MapPath("txtcounter.txt") 
Set FileObject=Server.CreateObject("Scripting.FileSystemObject") 
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE) 
counter=Out.ReadLine 
Out.Close 
SET FileObject=Server.CreateObject("Scripting.FileSystemObject") 
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE) 
Application.lock 
counter= counter + 1 
Application("TotalUsers") = counter
Out.WriteLine(counter) 
Application.unlock   
Out.Close 

 

End Sub 


Sub Session_OnEnd 

'当结束一个Session时用户计数器减1 
Application.Lock 
Application("ActiveUsers") = Application("ActiveUsers") - 1 
Application.UnLock 

End Sub 

</SCRIPT>


为了实现定时刷新页面数据信息,用单独的一个页面来存放对这些数据的访问

online.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Refresh" content="10"><!--设置自动刷新-->
<title>在线人数</title>
</head>

<body style="width:190px; margin:0px; height:100%">
今天的访问量为:<%= Application("EveryDayUsers") %>人<br />
当前在线人数:<%= Application("ActiveUsers") %>人<br />
总访问量: <%= Application("TotalUsers") %>人
</body>
</html>

在主页面中引用这个页面即可
<IFRAME name="online" SRC="online.asp" align="center" frameborder="0" width="190" height="80px" scrolling="no"> </IFRAME>

你可能感兴趣的:(html,XHTML,VBScript,asp)