asp論壇在線人數(shù)統(tǒng)計研究
發(fā)表時間:2024-06-10 來源:明輝站整理相關軟件相關文章人氣:
[摘要]最近用ASP做了一個小論壇,客戶又要求要統(tǒng)計在線人數(shù),所以花了點時間寫一個在線統(tǒng)計訪會員的功能。寫的過程中也查看了許多文檔。自我感覺用的方法能比較準確的統(tǒng)計在線人數(shù)。當然一定也有不足的地方,希望各位老師糾正。特別說明: 本論壇登錄是采用用戶名登錄,登錄后取得用戶昵稱。整個網(wǎng)站不顯示用戶名,我想...
最近用ASP做了一個小論壇,客戶又要求要統(tǒng)計在線人數(shù),所以花了點時間寫一個在線統(tǒng)計訪會員的功能。寫的過程中也查看了許多文檔。自我感覺用的方法能比較準確的統(tǒng)計在線人數(shù)。當然一定也有不足的地方,希望各位老師糾正。特別說明: 本論壇登錄是采用用戶名登錄,登錄后取得用戶昵稱。整個網(wǎng)站不顯示用戶名,我想相對來說安全一點吧,所以有昵稱和用戶名區(qū)別。 1。建立數(shù)據(jù)庫表
表名為online
設如下字段
id '用來記錄每一個訪問都的session.sessionid
name '如果是訪客,則記錄為訪客。
online '如果是訪各為0 如果是會員1
datetime '最近活動時間
username '會員的登錄用戶名,訪客為空。
ip '記錄訪問都的登錄IP head.asp '向數(shù)據(jù)庫表寫入在線人數(shù),該頁面必須搜入到每一個用于瀏覽ASP頁面中。
<%
set rs=Server.CreateObject("ADODB.Recordset")
if session("username")="" then 判斷用戶未登錄
sql="select * from online where id='"&session.sessionid&"' " '判斷這個sessionid是否存在于數(shù)據(jù)庫表中.
rs.Open sql,Conn,1,3
if rs.eof then '訪客第一次瀏覽
rs.addnew
rs("id")=session.sessionID
rs("name")="游客"
rs("online")=0 '0表示用戶未登陸,是游客身份
rs("datetime")=now()
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip= Request.ServerVariables("REMOTE_ADDR")
end if
rs("ip")=userip
else '訪客非第一次瀏覽(出處:pconline)