asp建立存取統計程式碼,實例1。建立資料庫表
表名為online
設如下字段
id '用來記錄每一個存取都的session.sessionid
name '如果是訪客,則記錄為訪客。
online '如果是訪各為0 如果是會員1
datetime '最近活動時間
username '會員的登入使用者名稱,訪客為空。
ip '記錄存取都的登入IP
head.asp '寫入線上人數,該頁面必須搜入到每一個用於瀏覽ASP頁面中。
<%
set rs=Server.CreateObject(ADODB.Recordset)
if session(username)= then 判斷使用者未登入
sql=select * from online where id='&session.sessionid&' '判斷這個sessionid是否存在於資料庫表中.
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 '訪客非第一次瀏覽
rs(datetime)=now() '更新活動時間
rs.update
rs.close
end if
else
sql=select * from online where id=' & session.sessionID & ' or admin='&session(username)&' '判斷sessionid 或使用者名稱記錄已存在資料表中。
rs.Open sql,Conn,1,3
if rs.eof then
rs.addnew '會員第一次進入網站(可能從網站首頁直接登入進入論壇)。
rs(id)=session.sessionID
rs(name)=session(show) '寫入使用者暱稱
rs(username)=session(username) '寫入登入使用者名稱
rs(online)=1 '表示使用者已經登陸,是會員身份
rs(datetime)=now() '將目前系統時間設定為使用者的登陸時間
userip = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
If userip = Then
userip= Request.ServerVariables(REMOTE_ADDR)
end if
rs(ip)=userip
else //會員非第一次瀏覽網站,訪客登入網站。
rs(name)=session(show) 更新使用者暱稱
rs(username)=session(username)
rs(online)=1 '表示使用者已經登陸,是會員身份
rs(datetime)=now()
end if
rs.update
rs.close
end if
set rs=nothing
%>
conn.execute(delete from online where datediff('s',datetime,now())>60) '刪除60秒沒有活動的訪客,時間可以自行調整。