我们先新建一个ACCESS数据库
内容为
表名:zai
字段为
1.ip
2.time
建立一个文件为index.asp
然后就如下程序!
<% '===================================================================================================''******************** 冰翎在线人数统计程序 V2.0 ******************************'' 本站程序由 『冰翎工作室』--冰淇淋剑客 独立制作!请尊重本人的劳动成果' ' 『冰翎工作室』─━╃→用实力打造个性 ' '* 作者:冰淇淋剑客 '* 网站:http://www.blbcn.com '* 电子邮件:bingqilinjianke@163.com '* QQ:68156987 '* 住址:江苏无锡 '******************************************************************************'' 版权所有·抄袭挪用必究''===================================================================================================
'---------定义变量dim rsdim ipdim timeoutdim xdim conndim 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值相同的记作1sql="select ip from zai where time >= dateadd('n',-20,now()) group by ip"rs.Open sql,conn,1,1zai=rs.RecordCountrs.Close'---------得到在线人数值
'---------查看数据库中是否已经有相同的值,没有则 x="yes"有则x="no" sql="select ip from zai where ip='" & ip & "'"rs.Open sql,conn,1,1if rs.eof and rs.bof then x="yes"elsex="no"end if rs.close'--------判断完毕
'--------如果数据库中没有相同的值则加入一个新值if x="yes" then' 如果没有这个IP则增加一条记录sql="select top 1 * from zai"rs.Open sql,conn,1,3rs.AddNewrs("ip")=iprs("time")=now()rs.updaters.close else '如果有这个IP则把时间改为现在的时间
sql="select * from zai where ip='" & ip & "'"rs.Open sql,conn,1,3rs("time")=now()rs.updaters.close end if'--------判断加入完毕
'--------删除20分钟以前所加入的值timeout = dateadd("n", -20, now())sql="delete * from zai where time < #" & timeout & "#"conn.Execute sql'--------删除完毕
'--------关闭数据对象set rs=nothingconn.Close set conn=nothing%>document.write("共<%=zai%>人在线")
OK!
完成了!
推荐阅读
asp实现无限级分类的方法js版
MenuArr=new Array()MenuLenArr=new Array()SubMenuArr=new Array()MenuIdArr=new Array()MenuArr[1]="<%call top11%>" //洲名|||...MenuArr[2]="<%call top1%>" //洲名###国名|||...MenuIdArr[1]="zhou"MenuIdArr>>>详细阅读
本文标题:ASP制作在线人数统计实例
地址:http://www.17bianji.com/kaifa2/ASP/33251.html
1/2 1