ASP制作在线人数统计实例

我们先新建一个ACCESS数据库

内容为

表名:zai

字段为

1.ip

2.time

建立一个文件为index.asp

然后就如下程序!

<%
'===================================================================================================
'
'******************** 冰翎在线人数统计程序 V2.0 ******************************
'
' 本站程序由 『冰翎工作室』--冰淇淋剑客 独立制作!请尊重本人的劳动成果
'  
' 『冰翎工作室』─━╃→用实力打造个性
'
'* 作者:冰淇淋剑客  
'* 网站:http://www.blbcn.com  
'* 电子邮件:bingqilinjianke@163.com  
'* QQ:68156987
'* 住址:江苏无锡
'******************************************************************************
'
' 版权所有·抄袭挪用必究
'
'===================================================================================================

'---------定义变量
dim rs
dim ip
dim timeout
dim x
dim conn
dim dbpath
'---------定义变量结束

'---------建议数据库链接
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("zai.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
'---------建立数据库链接完成

'---------新建数据库RS对象
set rs = server.createobject("adodb.recordset")
'---------建立数据库RS对象完成

'---------读取客户端IP地址
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '若是对方使用的是代理服务器上网的话,用Request.ServerVariables("HTTP_X_FORWARDED_FOR")可以得到对方的真实IP,若对方不是通过代理服务器上网的话,则IP的值为空
If ip = "" Then ip = Request.ServerVariables("REMOTE_ADDR") '如果IP的值为空,则得到他的本地客户端地址
'---------IP读取完毕

'---------读出数据库内近20分钟所加入的新内容数,group by ip-表IP值相同的记作1
sql="select ip from zai where time >= dateadd('n',-20,now()) group by ip"
rs.Open sql,conn,1,1
zai=rs.RecordCount
rs.Close
'---------得到在线人数值

'---------查看数据库中是否已经有相同的值,没有则 x="yes"有则x="no"
sql="select ip from zai where ip='" & ip & "'"
rs.Open sql,conn,1,1
if rs.eof and rs.bof then
x="yes"
else
x="no"
end if
rs.close
'--------判断完毕

'--------如果数据库中没有相同的值则加入一个新值
if x="yes" then'   如果没有这个IP则增加一条记录
sql="select top 1 * from zai"
rs.Open sql,conn,1,3
rs.AddNew
rs("ip")=ip
rs("time")=now()
rs.update
rs.close
else   '如果有这个IP则把时间改为现在的时间

sql="select * from zai where ip='" & ip & "'"
rs.Open sql,conn,1,3
rs("time")=now()
rs.update
rs.close
end if
'--------判断加入完毕

'--------删除20分钟以前所加入的值
timeout = dateadd("n", -20, now())
sql="delete * from zai where time < #" & timeout & "#"
conn.Execute sql
'--------删除完毕

'--------关闭数据对象
set rs=nothing
conn.Close
set conn=nothing
%>
document.write("共<%=zai%>人在线")

OK!

完成了!

(0)

相关推荐

  • ASP程序代码执行时间统计类

    第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等. 复制代码 代码如下: Class ccClsProcessTimeRecorder '程序作者:明月星光 '作者主页:http://www.5iya.com/blog 'http://www.kuozhanming.com 'ASP程序代码执行时间统计类 Private ccInti,ccIntNonceTime,ccIntDecimal   Private ccIntStartTime,ccIntEndTime,ccIntNow

  • 四步完成asp网页设计流量统计

    按照以下步骤,逐步操作,你很快就会拥有精美的图形化计数器.  步骤1:在网站的某个目录如count下建立文本文件,如counter.dat    ,用于存放访问量.文件内容仅有一行数字,表示网站初始访问量,一般为0. 步骤2:在相同目录下建立计数器的ASP程序,可命名为mycount.asp,内容如下: <% '自编ASP图形化计数器 V1.1 '用于网页浏览统计,免费使用,自由拷贝! dim vistors '获取计数文件counter.dat的地址 countfile=server.mapp

  • asp实现一个统计当前在线用户的解决方案

    一个统计当前在线用户的解决方案 在做一个在线交流的网站时,有个问题很令我头疼,就是关于实时统计在线用户的问题,客户要求:统计当前在线人数.游客人数.会员人数.在线用户列表,包括游客.会员和管理员(如果是游客,则自动生成游客的ID,如果是会员,则显示会员姓名).因为它要求有实时性,则首先我将用global.asa解决的想法pass掉. 问题的关键是如何判断用户已经离开,和当用户离开时如何执行一个文件或一个函数. 经过和网上一些朋友的探讨,终于解决了这个问题. 解决的原理为:编写一个通用页面,所谓的

  • 统计有多少行JS代码和ASP代码

    计算当前文件夹中,有多少行JS代码和ASP代码,并且还可统计代码有多少字节有示例代码 复制代码 代码如下: <% '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ '\\ '\\    来自 codeproject.com '\\    计算js和asp代码 '\\    修改 bluedestiny '\\    mail:bluedestiny at 126.com '\\ '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

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

    本文实例讲述了php模仿asp Application对象在线人数统计实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /* 用法: application('key','value'); //设置 key=value $value = application('key'); //获取 key的值 */   function application() {  $args = func_get_args(); //获取输入参数  if (count($args) >2 ||

  • asp.net中调用Office来制作3D统计图的实例代码

    1.首先下载owc11 COM组件 http://www.microsoft.com/downloads/details.aspx?FamilyID=7287252c-402e-4f72-97a5-e0fd290d4b76&displaylang=en 2.注册owc11 在工程中添加 C:/Program Files/Common Files/Microsoft Shared/Web Components/11  文件下的owc11.dll引用 3.在工程中添加 using OWC11; 4.

  • 实现ASP程序执行时间统计类的代码

    第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等.  复制代码 代码如下: Class ccClsProcessTimeRecorder  '程序作者:明月星光  '作者主页:http://www.5iya.com/blog  'http://www.kuozhanming.com  'ASP程序代码执行时间统计类 Private ccInti,ccIntNonceTime,ccIntDecimal    Private ccIntStartTime,ccIntEndTime,cc

  • ASP访问数量统计代码

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

  • asp.net aspnetpager分页统计时与实际不符的解决办法

    基本函数如下: 复制代码 代码如下: /// <summary> /// 需要分页时使用,根据参数和ConditionExpress获取DataTable /// </summary> /// <param name="_tableName">表名</param> /// <param name="_fieldNames">字段名集合,用逗号分开</param> /// <param na

  • asp论坛在线人数统计研究

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

  • ASP.net中网站访问量统计方法代码

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数.访问总人数的增量统计,代

随机推荐