加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP制作在线人数统计例子

发布时间:2023-06-29 14:58:49 所属栏目:Asp教程 来源:
导读:我们先新建一个ACCESS数据库

内容为

表名:zai

字段为

1.ip

2.time

建立一个文件为index.asp

然后就如下程序!

<%

&#39;=============================================
我们先新建一个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!
 
完成了!
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章