程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> asp論壇在線人數統計研究

asp論壇在線人數統計研究

編輯:關於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秒沒有活動的訪客,時間可以自己調整。 



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved