人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

一個統計當前在線用戶的處理方案,可以在聊天室、論壇、網站中運用

一個統計當前在線用戶的處理方案,可以在聊天室、論壇、網站中運用

更新時間:2021-03-06 文章作者:未知 信息來源:網絡 閱讀次數:

在做一個在線交流的網站時,有個問題很令我頭疼,就是關于實時統計在線用戶的問題,客戶要求:統計當前在線人數、游客人數、會員人數、在線用戶列表,包括游客、會員和管理員(如果是游客,則自動生成游客的ID,如果是會員,則顯示會員姓名)。因為它要求有實時性,則首先我將用global.asa解決的想法pass掉。

問題的關鍵是如何判斷用戶已經離開,和當用戶離開時如何執行一個文件或一個函數。

經過和網上一些朋友的探討,終于解決了這個問題。

解決的原理為:編寫一個通用頁面,所謂的通用頁面,就是應用里的每個頁面都包含這個頁面,例如:header.asp,在這個頁面里,用XMLHTTP寫一段代碼,這段代碼的作用是每隔10秒或20秒就向服務器發送一個請求,目的是更新當前用戶的在線時間并刪除在線時間超過一定時間的用戶,使數據庫中的在線用戶記錄保持一定的實時性。

主要實現方法為:

新建一數據庫,字段名稱分別為:id(字符),name(字符),user(數字)tt(日期),admin(權限代碼,0-普通用戶,1-管理員)

表名:online

header.asp ↓

============================================================

<%

... ...

if session("s_in")<>1 and session("s_name")="" then '如果用戶是第一次登陸

rs.open "select * from online",conn,3,3
rs.addnew
rs("id")=session.sessionID
rs("name")="游客" & session.sessionID
rs("user")=0 '0表示用戶未登陸,是游客身份
rs("tt")=now
rs.update
rs.close
session("s_in")=1 '設置用戶的資料已經存入數據庫,表示已經在線
end if

if session("s_name")<>"" then '如果用戶已經通過登錄框登錄
rs.open "select * from online where id='" & session.sessionID & "'",conn,3,3
rs("name")=session("s_name")
rs("admin")=session("s_admin") '將用戶的姓名更新為會員名稱
rs("user")=1 '表示用戶已經登陸,是會員身份
rs("tt")=now '將當前系統時間設置為用戶的登陸時間
rs.update
rs.close
end if

... ...

%>

... ...

<head>

... ...

<script language=javascript>
function Test()
{
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlhttp.open("POST","onceonline.asp",false); // 向onceonline.asp發送更新請求
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send();
}
setInterval("Test();",10); // 10秒鐘發送一次更新請求
</script>

... ...

</head>

... ...

==========================================================

onceonline.asp

<%
rs.open "select tt from online where id='" & session.sessionID & "'",conn,3,3
rs("tt")=now() '更新當前在線用戶的在線時間
rs.update
rs.close

rs.open "delete from online where datediff('s',tt,now())>60",conn,3,1 '刪除超時用戶
%>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 弥勒县| 遂宁市| 巴青县| 兴业县| 凤翔县| 鸡泽县| 永和县| 额尔古纳市| 电白县| 丁青县| 额济纳旗| 平乐县| 封开县| 十堰市| 上栗县| 文安县| 济源市| 怀仁县| 宝丰县| 大理市| 卢龙县| 枣强县| 留坝县| 麻阳| 梁山县| 涞源县| 富锦市| 玉林市| 林州市| 象州县| 大荔县| 屏边| 荔浦县| 绍兴市| 历史| 扶绥县| 佛冈县| 鄂温| 突泉县| 东丽区| 道真|