ASP制作在線人數(shù)統(tǒng)計(jì)實(shí)例
內(nèi)容為
表名:zai
字段為
1.ip
2.time
建立一個(gè)文件為index.asp
然后就如下程序!
<%
'===================================================================================================
'
'******************** 冰翎在線人數(shù)統(tǒng)計(jì)程序 V2.0 ******************************
'
' 本站程序由 『冰翎工作室』--冰淇淋劍客 獨(dú)立制作!請(qǐng)尊重本人的勞動(dòng)成果
'
' 『冰翎工作室』─━╃→用實(shí)力打造個(gè)性
'
'* 作者:冰淇淋劍客
'* 網(wǎng)站:http://www.blbcn.com
'* 電子郵件:bingqilinjianke@163.com
'* QQ:68156987
'* 住址:江蘇無錫
'******************************************************************************
'
' 版權(quán)所有·抄襲挪用必究
'
'===================================================================================================
'---------定義變量
dim rs
dim ip
dim timeout
dim x
dim conn
dim dbpath
'---------定義變量結(jié)束
'---------建議數(shù)據(jù)庫鏈接
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("zai.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
'---------建立數(shù)據(jù)庫鏈接完成
'---------新建數(shù)據(jù)庫RS對(duì)象
set rs = server.createobject("adodb.recordset")
'---------建立數(shù)據(jù)庫RS對(duì)象完成
'---------讀取客戶端IP地址
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '若是對(duì)方使用的是代理服務(wù)器上網(wǎng)的話,用Request.ServerVariables("HTTP_X_FORWARDED_FOR")可以得到對(duì)方的真實(shí)IP,若對(duì)方不是通過代理服務(wù)器上網(wǎng)的話,則IP的值為空
If ip = "" Then ip = Request.ServerVariables("REMOTE_ADDR") '如果IP的值為空,則得到他的本地客戶端地址
'---------IP讀取完畢
'---------讀出數(shù)據(jù)庫內(nèi)近20分鐘所加入的新內(nèi)容數(shù),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
'---------得到在線人數(shù)值
'---------查看數(shù)據(jù)庫中是否已經(jīng)有相同的值,沒有則 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
'--------判斷完畢
'--------如果數(shù)據(jù)庫中沒有相同的值則加入一個(gè)新值
if x="yes" then' 如果沒有這個(gè)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 '如果有這個(gè)IP則把時(shí)間改為現(xiàn)在的時(shí)間
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
'--------刪除完畢
'--------關(guān)閉數(shù)據(jù)對(duì)象
set rs=nothing
conn.Close
set conn=nothing
%>
document.write("共<%=zai%>人在線")
OK!
完成了!
- 統(tǒng)計(jì)有多少行JS代碼和ASP代碼
- ASP程序代碼執(zhí)行時(shí)間統(tǒng)計(jì)類
- asp論壇在線人數(shù)統(tǒng)計(jì)研究
- 實(shí)現(xiàn)ASP程序執(zhí)行時(shí)間統(tǒng)計(jì)類的代碼
- asp實(shí)現(xiàn)一個(gè)統(tǒng)計(jì)當(dāng)前在線用戶的解決方案
- ASP訪問數(shù)量統(tǒng)計(jì)代碼
- asp.net aspnetpager分頁統(tǒng)計(jì)時(shí)與實(shí)際不符的解決辦法
- asp.net中調(diào)用Office來制作3D統(tǒng)計(jì)圖的實(shí)例代碼
- ASP.net中網(wǎng)站訪問量統(tǒng)計(jì)方法代碼
- php模仿asp Application對(duì)象在線人數(shù)統(tǒng)計(jì)實(shí)現(xiàn)方法
- 四步完成asp網(wǎng)頁設(shè)計(jì)流量統(tǒng)計(jì)
相關(guān)文章
方便的大家admin及admin888 經(jīng)過 md5加密后16位和32位代碼
方便的大家admin及admin888 經(jīng)過 md5加密后16位和32位代碼...2007-03-03asp下如何在Access數(shù)據(jù)庫中立即得到所插入記錄的自動(dòng)編號(hào)?
asp下如何在Access數(shù)據(jù)庫中立即得到所插入記錄的自動(dòng)編號(hào)?...2007-04-04ASP編程入門進(jìn)階(五):內(nèi)置對(duì)象Response
ASP編程入門進(jìn)階(五):內(nèi)置對(duì)象Response...2007-01-01HTTP_HOST 和 SERVER_NAME 的區(qū)別詳解
HTTP_HOST 和 SERVER_NAME 的區(qū)別詳解...2007-02-02