当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp论坛在线人数统计研究

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

ASP 中的 asp论坛在线人数统计研究


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 113 ::
收藏到网摘: n/a

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秒没有活动的访客,时间可以自己调整。