connstr = "DBQ="+server.mappath("yang_yang.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set db = Server.CreateObject("ADODB.Connection")
db.Open connstr
set rs = server.createobject("adodb.recordset")
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If ip = "" Then ip = Request.ServerVariables("REMOTE_ADDR") end if
sql = "select * from online where time <= dateadd('s',-5,now()) and ip = '" & ip & "'"
rs.Open sql,db,1,2
if rs.eof and rs.bof then
rs.AddNew
end if
rs("ip") = ip
rs("time") = now()
rs.Update
sql = "delete * from online where time < dateadd('s',-5,now())"
set rs_1 = server.createobject("adodb.recordset")
rs_1.open sql,db,1,2
sql = "select * from online"
set rs_2 = server.createobject("adodb.recordset")
rs_2.open sql,db,1,1
Response.Write "共" & rs_2.RecordCount & "人在线<br> <br>"
for i = 1 to rs_2.RecordCount
Response.Write "用户" & i & ":" & rs_2("ip") & "在线<br>"
rs_2.MoveNext
next
set rs = nothing
set rs_1 = nothing
set rs_2 = nothing
db.Close
set db = nothing
%>
</body>
</html>
<%
'******************************************************************************
'******************************************************************************
%>
'---------新建数据库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
sql="select top 1 * from zai"
rs.Open sql,conn,3,2
rs.AddNew
rs("ip")=ip
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%>人在线")