ASP制作在线人数统计实例

2018-09-06 12:00

阅读:388

  我们先新建一个ACCESS数据库

  内容为

  表名:zai

  字段为

  1.ip

  2.time

  建立一个文件为index.asp

  然后就如下程序!

  <%
===================================================================================================

******************** 冰翎在线人数统计程序 V2.0 ******************************

本站程序由 『冰翎工作室』--冰淇淋剑客 独立制作!请尊重本人的劳动成果

『冰翎工作室』─━╃→用实力打造个性

* 作者:冰淇淋剑客
* 网站:
* 电子邮件
* QQ:68156987
* 住址:江苏无锡
******************************************************************************

版权所有·抄袭挪用必究

===================================================================================================

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

  ---------建议数据库链接
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!

  完成了!


评论


亲,登录后才可以留言!