当前位置: 网学 > 编程文档 > ASP > 正文

ASP制作在线人数统计实例

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/17

网学网ASP编辑为广大网友搜集整理了: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!

完成了!

  • 下一篇资讯: 在线统计代码 application
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号