我們先新建一個ACCESS資料庫
內容為
表名:zai
字段為
1.ip
2.time
建立一個檔案為index.asp
然後就如下程序!
<%
'================================================== ==================================================
'
'******************** 冰翎在線人數統計程序V2.0 ******************** **********
'
' 本站程式由『冰翎工作室』--冰淇淋劍客獨立製作!請尊重本人的勞動成果
'
' 『冰翎工作室』─━╃→用實力打造個性
'
'* 作者:冰淇淋劍客
'* 網址:http://www.blbcn.com
'* 電子郵件:[email protected]
'* 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,對方若不是透過代理伺服器上網的話,
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!
完成了!