html在线⼈数统计代码,⽹页在线⼈数统计的代码
在浏览⽹页的时侯,常常可以看见⼀些“当前⽹站上的⼈数是XXX⼈”的在线⼈数同计。如何⽤ASP来做⼀个呢?⾸先,分析⼀下它的做法,⼀般来说,这些线上⼈数统计都是指⼀个时段内的访客⼈数统计。⽐如(5分钟内,10分钟内)⽽这个时间的长短,是由设计者设定的。
在这个时段内同计各个不同IP的访客总数,就可以得出当前的线上⼈数了,但这⾥有⼀个精确问题需要解决,⾄于⽤什么办法来精确地统计,那就是各⼈不同的做法了,⽐如可以⽤⾃动提交的页⾯,隔⼀段时间读取COOKIES等等,⽽在ASP中,有⼀个更好的技巧,就是使⽤session对象来统计,这⾥介绍⼀下gobal.asa这个⽂件,这是⼀个很重要的⼀个⽂件,请看看它的结构。
Sub Session_OnStart
End Sub
Sub Session_OnEnd
End Sub
sub Application_OnStard
End Sub
sub Application_OnEnd
End Sub
当有⼀个会话发⽣时(⽤户浏览⽹页,向Web服务器发出请求)那么,如果⾃服务器启动后第⼀个⽤户的话,就会同时发⽣
Application_OnStard和Session_OnStart这两个事件,之后,再有别的⽤户发出请求的话,就只发⽣Session_OnStart这个事件,⽽session的⽣存期是多长,是可以设定的,Session.timeout=X(分钟)
好了,有了这个很好⽤的⽅法,我们就能准确地统计出在线⼈数了,⽽⼈数总计是⽤⼀个application变量来保存,当在第⼀个会话开始时,在Application_OnStard事件中放置⼀条清空计数器的语句application("online")=0,然后,在Session_OnStart事件中,放置⼀条增加在线⼈数的语句
application("online")=application("online")+1,⽽在Session_OnEnd事件相应地放⼀条减少在线⼈数的语句,令计数值减⼀。
这样,这个⽂件就改为如下
Sub Session_OnStart
application("online")=application("online")+1
End Sub
Sub Session_OnEnd
application("online")=application("online")-1
在线代码运行器
End Sub
sub Application_OnStard
application("online")=0
End Sub
sub Application_OnEnd
application("online")=0
End Sub
接下来编⼀个显⽰图形数字的程序,把在线⼈数显⽰在指定的页⾯上。这样就能得出在⼈数了
*online.asp
tmp=application("online")
tmp=Cstr(tmp)
dim disp(20)
dim images(20)
dbbits=len(tmp)
for i= 1 to dbbits
disp(i)=left(right(tmp,i),i-(i-1))
next
for i=dbbits to 1 step -1
images(i)=""
response.write "document.write('"&images(i)&"');"
next
%>
上⾯的程序很简单,这⾥不作分析了,请⼤家⾃⼰阅读⼀下。在调⽤在线统计的页⾯上⽤⼀句script语句引⽤online.asp⽂件,以显⽰图形统计器。
现在可以了,记住要点,你必须把gobal.asa放在正确的web应⽤程序根⽬录上,⽽最好单独为这个统计新建⼀个web应⽤程序,不要与其它别的程序混乱了,不然得出的数据是不准确的,⽽把这个程序修改为多⽤户的在线统计也很简单。这样就可以提供在线统计服务了,如何实现请⼜⼤家去思考⼀下吧....
<

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。