站内公告
寂寞驿站 | 站内动态 | 文学知识 | 驿站图库 | 资源下载 | 影音在线 | 我要留言 | 周公解梦 | 寂寞论坛

:::会 员 登 陆:::  
 名  称  
 密  码  
 验证码   
  

:::超 级 搜 索:::  
栏  目  
类  别  
关键词  
 站内搜索   网络搜索
  

:::热门文章TOP10:::  
 独自寂寞
 毛泽东与《红楼梦》
 道歉情书
 第一次犯错
 爱是寂寞撕的谎
 老子道德经(白话文注解)
 羊脂球
 谈看书
 《红楼梦》十个为什么
 中国人的宗教

:::版权及免责声明:::  

  本站资料文章其版权归作者本人所有。
  如果有任何侵犯您版权的地方,请尽快与本站联系!

 来    源: 互联网
 作    者: 不祥
 发表日期: 2007-1-23 8:53:45
 阅读次数: 3915
 文章标题: 网站建设网站编程 → ASP统计在线用户的简单办法
 查看权限: 普通文章
 查看方式: 查看:[ 大字 中字 小字 ] [双击滚屏]
 正    文:
ASP统计在线用户的简单办法

  统计在线人数的方法有很多,关键有几点,一个是怎么样标记唯一访客;一个是怎么样统计异常退出的访客;三个就是怎么样减少服务器端的压力。

  标志唯一访客的方法有两个,一个是ip来源,另外一个是sessionid。下面的这个程序是用sessionid作为标记,统计在线用户的一个办法。
<%
function disponline(timeout)
''显示在线人数  单位 秒  参数表示访问过期的时间
sessionID = session。SessionID

''检测当前sessionid
dim rshceck,sqlcheck
sqlcheck="select sessid,sesstime from online where sessid=''"&sessionID&"''"
set rscheck = server。createobject("adodb。recordset")
rscheck。open sqlcheck,conn,1,3
if rscheck。eof or rscheck。bof then
rscheck。addnew
rscheck("sessID")=sessionID
rscheck("sesstime")=now()
else
rscheck("sesstime")=now()
end if
rscheck。uppdate
rscheck。close
set rscheck=nothing

''删除过期在线人数
dim rspredel,sqlpredel
sqlpredel="select * from online"
set rspredel = server。createobject("adodb。recordset")
rspredel。open sqlpredel,conn,1,3
for i=1 to rspredel。recordcount
if DateDiff("s", rspredel("sesstime"), Now()) > timeout then
rspredel。delete
end if
rspredel。movenext
next
rspredel。close
rspredel。open sqlpredel,conn,1,1
''code by niceidea
dim count
count=rspredel。recordcount
rspredel。close
set respredel=nothing

if count = 0 then count = 1 ''汗。。。。。。
response。write (count)
%>

  调用方法,另存文件为online。asp,然后在数据库链接文件中include进去,在需要显示的地方,调用函数就可以了。这个办法的信息记录在数据库中,需要在数据库中新建一个online的表。每次页面刷新都会产生数据读写,消耗cpu的资源比较多。

  也可以用application对象存储类似的数组,在这个办法下,当访客数量多的时候,可能会消耗一部分的内存。所以,在需要统计访问的时候,最好使用第三方的统计,现在连google推出了免费的统计服务,一般情况下是没有必要自己统计的。


上一篇:用ASP给图片加水印
下一篇:ASP.NET在线用户列表精确版
会员注册 | 版权声明 | 关于站长 | 超级搜索 | 友情链接 
Copyright© 2005-2010 寂寞驿站, All rights reserved。
站长:寂寞的狼 建站时间:2004-10-13 站长信箱:www@jmdl.net
粤ICP备16051526号