国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

asp實(shí)現(xiàn)一個統(tǒng)計(jì)當(dāng)前在線用戶的解決方案

2024-05-04 11:01:05
字體:
供稿:網(wǎng)友
一個統(tǒng)計(jì)當(dāng)前在線用戶的解決方案

在做一個在線交流的網(wǎng)站時,有個問題很令我頭疼,就是關(guān)于實(shí)時統(tǒng)計(jì)在線用戶的問題,客戶要求:統(tǒng)計(jì)當(dāng)前在線人數(shù)、游客人數(shù)、會員人數(shù)、在線用戶列表,包括游客、會員和管理員(如果是游客,則自動生成游客的ID,如果是會員,則顯示會員姓名)。因?yàn)樗笥袑?shí)時性,則首先我將用global.asa解決的想法pass掉。

問題的關(guān)鍵是如何判斷用戶已經(jīng)離開,和當(dāng)用戶離開時如何執(zhí)行一個文件或一個函數(shù)。

經(jīng)過和網(wǎng)上一些朋友的探討,終于解決了這個問題。

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

主要實(shí)現(xiàn)方法為:

新建一數(shù)據(jù)庫,字段名稱分別為:id(字符),name(字符),user(數(shù)字)tt(日期),admin(權(quán)限代碼,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 '設(shè)置用戶的資料已經(jīng)存入數(shù)據(jù)庫,表示已經(jīng)在線
end if

if session("s_name")<>"" then '如果用戶已經(jīng)通過登錄框登錄
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 '表示用戶已經(jīng)登陸,是會員身份
rs("tt")=now '將當(dāng)前系統(tǒng)時間設(shè)置為用戶的登陸時間
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發(fā)送更新請求
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send();
}
setInterval("Test();",10); // 10秒鐘發(fā)送一次更新請求
</script>

... ...
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 敖汉旗| 开封市| 共和县| 南和县| 澄城县| 延寿县| 娄底市| 汾西县| 黎平县| 育儿| 济宁市| 克什克腾旗| 鄂温| 唐山市| 永胜县| 汨罗市| 徐闻县| 上饶县| 房产| 丰都县| 屏南县| 汶上县| 曲沃县| 延庆县| 松潘县| 江津市| 金湖县| 宝丰县| 阿瓦提县| 北流市| 合川市| 庄浪县| 新疆| 侯马市| 武夷山市| 宁河县| 阜宁县| 东乡县| 天台县| 封丘县| 隆回县|