asp论坛在线人数统计研究

统计|在线|在线人数

最近用ASP做了一个小论坛,客户又要求要统计在线人数,所以花了点时间写一个在线统计访会员的功能。写的过程中也查看了许多文档。自我感觉用的方法能比较准确的统计在线人数。当然一定也有不足的地方,希望各位老师纠正。

特别说明:

本论坛登录是采用用户名登录,登录后取得用户昵称。整个网站不显示用户名,我想相对来说安全一点吧,所以有昵称和用户名区别。

1。建立数据库表
表名为online
设如下字段
id '用来记录每一个访问都的session.sessionid
name '如果是访客,则记录为访客。
online '如果是访各为0 如果是会员1
datetime '最近活动时间
username '会员的登录用户名,访客为空。
ip '记录访问都的登录IP

head.asp '向数据库表写入在线人数,该页面必须搜入到每一个用于浏览ASP页面中。
<%
set rs=Server.CreateObject("ADODB.Recordset")
if session("username")="" then 判断用户未登录
sql="select * from online where id='"&session.sessionid&"' " '判断这个sessionid是否存在于数据库表中.
rs.Open sql,Conn,1,3
if rs.eof then '访客第一次浏览
rs.addnew
rs("id")=session.sessionID
rs("name")="游客"
rs("online")=0 '0表示用户未登陆,是游客身份
rs("datetime")=now()
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip= Request.ServerVariables("REMOTE_ADDR")
end if
rs("ip")=userip
else '访客非第一次浏览
rs("datetime")=now() '更新活动时间
rs.update
rs.close
end if
else
sql="select * from online where id='" & session.sessionID & "' or admin='"&session("username")&"'" '判断sessionid 或者 用户名记录已存在数据表中。
rs.Open sql,Conn,1,3
if rs.eof then
rs.addnew '会员第一次进入网站(可能从网站首页直接登录进入论坛)。
rs("id")=session.sessionID
rs("name")=session("show") '写入用户昵称
rs("username")=session("username") '写入登录用户名
rs("online")=1 '表示用户已经登陆,是会员身份
rs("datetime")=now() '将当前系统时间设置为用户的登陆时间
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip= Request.ServerVariables("REMOTE_ADDR")
end if
rs("ip")=userip
else //会员非第一次浏览网站,访客登录网站。
rs("name")=session("show") 更新用户昵称
rs("username")=session("username")
rs("online")=1 '表示用户已经登陆,是会员身份
rs("datetime")=now()
end if
rs.update
rs.close
end if
set rs=nothing
%>
conn.execute("delete from online where datediff('s',datetime,now())>60") '删除60秒没有活动的访客,时间可以自己调整。

有兴趣和意见的朋友可以发信到qizulovemin@hotmail.com,希望和各位老师交流学习。

时间: 2024-11-03 22:14:52

asp论坛在线人数统计研究的相关文章

asp论坛在线人数统计研究_应用技巧

1.建立数据库表   表名为online    设如下字段   id '用来记录每一个访问都的session.sessionid   name '如果是访客,则记录为访客.   online  '如果是访各为0 如果是会员1    datetime '最近活动时间   username '会员的登录用户名,访客为空.   ip '记录访问都的登录IP   head.asp '向数据库表写入在线人数,该页面必须搜入到每一个用于浏览ASP页面中.  <% set rs=Server.CreateOb

浅淡如何用ASP实现在线人数统计

统计|在线|在线人数                 浅淡如何用ASP实现在线人数统计                           (jaklin  2000.8.17)     我发现这几天问此问题的人挺多的.就此我想说说我个的用法, 请各位大虾指教. 在线人数是指一个时段内的访客人数统计,时间的长短是由设计者设定的. 在这个时段内,各个不同IP访问本站点的总数,就是当前的线上人数.在ASP中,一般是使用Session对象来实现统计,实现代码如下: 1. 在Golobal.asa文件中

asp.net 在线人数统计代码

asp教程.net 在线人数统计代码 application最经典的一个方法:统计在线人数,这需要借助于我们的全局应用程序类来对登录的用户信息进行统计:     void application_start(object sender, eventargs e)     {         //在应用程序启动时运行的代码         application["count"] = 0;         system.io.filestream fs = system.io.file.

ASP制作在线人数统计实例_ASP基础

我们先新建一个ACCESS数据库 内容为 表名:zai 字段为 1.ip 2.time 建立一个文件为index.asp 然后就如下程序! <% '===================================================================================================''******************** 冰翎在线人数统计程序 V2.0 ******************************'' 本站程序由

ASP制作在线人数统计实例

我们先新建一个ACCESS数据库 内容为 表名:zai 字段为 1.ip 2.time 建立一个文件为index.asp 然后就如下程序! <% '===================================================================================================''******************** 冰翎在线人数统计程序 V2.0 ******************************'' 本站程序由

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-[过滤器+Cache] 系列目录 上次的探讨没有任何结果,我浏览了大量的文章和个别系统的参考!决定用Cache来做,这可能有点难以接受但是配合mvc过滤器来做效果非常好! 由于之前的过滤器我们用过了OnActionExecuting这个方法来判断权限 现在在方法被执行后我们用OnActionExecuted来监听用户的操作和刷新用户在线列表 首先下载http://files

ASP不用Golobal和session实现在线人数统计

session|统计|在线|在线人数   实现在线人数统计最常用的方法就是golobal.asa结合session做,但这种方法有两个不利:   1.每个session要占用12k的服务器内存空间,为了人数+1就要付出12k内存的代价.   2.golobal.asa要放在网站的根目录下才会起作用,而且根目录只能有一个golobal,矛盾突出.   为此,有一种使用cookie和application在ASP文件中实现在线统计的方法,欢迎批评指正,共同探讨:   第一步:做一个框架,包含隐藏框架

ASP.NET中使用Application对象实现简单在线人数统计功能

  这篇文章主要介绍了ASP.NET中使用Application对象实现简单在线人数统计功能,本文给出实现步骤和相应代码实例,需要的朋友可以参考下 注:最近在复习ASP.NET,为了加深印象,会制作一些小的demo程序,分享给大家. 1 新建ASP.NET网站,编辑Global.asax文件,修改后的文件内容如下所示. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

php模仿asp Application对象在线人数统计实现方法

 这篇文章主要介绍了php模仿asp Application对象在线人数统计实现方法,通过一个比较简单的自定义函数实现这一功能,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php模仿asp Application对象在线人数统计实现方法.分享给大家供大家参考.具体实现方法如下:   代码如下: /* 用法: application('key','value'); //设置 key=value $value = application('key'); //获取 key的值 *