亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php實(shí)現(xiàn)用戶在線時(shí)間統(tǒng)計(jì)詳解

 更新時(shí)間:2011年10月08日 19:49:38   作者:  
php實(shí)現(xiàn)用戶在線時(shí)間統(tǒng)計(jì)詳解,需要的朋友可以參考下。
首先介紹一下所涉及的數(shù)據(jù)表結(jié)構(gòu),四個(gè)字段:
代碼如下:
復(fù)制代碼 代碼如下:

uid<int(10)> :用戶id
session_id<varchar(40)> :用戶登錄后系統(tǒng)產(chǎn)生的session_id,PHP可是使用session_id()函數(shù)獲取
login_time<int(10)> :登錄時(shí)間
logout_time<int(10)> :登出時(shí)間

1、客戶端定時(shí)發(fā)送請(qǐng)求到服務(wù)器端。實(shí)現(xiàn)方法是在用戶登錄后,將uid,session_id,login_time插入一條記錄,然后在客戶端js設(shè)定一個(gè)計(jì)時(shí)器,比如每10分鐘向服務(wù)器端發(fā)送一個(gè)請(qǐng)求,以此來(lái)達(dá)到更新登出時(shí)間的目的,當(dāng)然這個(gè)間隔時(shí)間設(shè)定的越短,數(shù)據(jù)可能會(huì)越準(zhǔn)確,不過(guò)相應(yīng)的系統(tǒng)的負(fù)載也會(huì)越高,這個(gè)可以根據(jù)實(shí)際情況設(shè)定一個(gè)合適的值。這種方法廣泛應(yīng)用于webgame上,因?yàn)閣ebgame的幾乎所有請(qǐng)求都是ajax請(qǐng)求,不用刷新頁(yè)面,一旦刷新頁(yè)面,這個(gè)計(jì)時(shí)器就失去了價(jià)值,這也是這個(gè)方法的局限性。

2、務(wù)器設(shè)定一個(gè)定時(shí)輪詢的腳本。這個(gè)方法是在服務(wù)器端寫一個(gè)定時(shí)執(zhí)行的腳本,比如5分鐘執(zhí)行一次,根據(jù)數(shù)據(jù)庫(kù)中的記錄來(lái)判斷每個(gè)會(huì)話的 session_id是否還存在于服務(wù)器上,如果存在就更新logout_time,不存在就跳過(guò)。這樣也能比較準(zhǔn)確的統(tǒng)計(jì)在線時(shí)間,不過(guò)缺點(diǎn)是需要有服務(wù)器的控制權(quán),不然無(wú)法設(shè)定定時(shí)腳本,linux系統(tǒng)可以通過(guò)crontab實(shí)現(xiàn),windows系統(tǒng)可以通過(guò)計(jì)劃任務(wù)來(lái)完成。如果你只是買的虛擬主機(jī),那么這個(gè)方法也同樣不適合你。

3、在用戶每次活動(dòng)時(shí)更新一下登出時(shí)間。這樣在用戶不活動(dòng)或者退出的時(shí)候,登出時(shí)間就自然而 然的存在于數(shù)據(jù)庫(kù)里了,這也是本文著重討論的方案。下面給出實(shí)現(xiàn)方法。
首先,在用戶登錄成功后,記錄下其uid,session_id,并將現(xiàn)在時(shí)間作為登陸時(shí)間,現(xiàn)在時(shí)間 600s作為登出時(shí)間,插入數(shù)據(jù)庫(kù)。
代碼如下:
復(fù)制代碼 代碼如下:

$uid = $_SESSION[uid] = $info[id];
$session_id = $_SESSION[session_id] = session_id();
$login_time = time();
$logout_time = time() 600;
$sql = "INSERT INTO member_login (uid,session_id,login_time,logout_time) values($uid,$session_id,$login_time,$logout_time)";
mysql_query($sql);

然后在用戶每次活動(dòng),也就是每點(diǎn)擊一個(gè)頁(yè)面時(shí),如果session存在也就是處于登錄狀態(tài)時(shí),更新用戶登出時(shí)間
代碼如下:
復(fù)制代碼 代碼如下:

if($_SESSION[uid]){
$uid = $_SESSION[uid];
$session_id = $_SESSION[session_id];
$logout_time = time() 600;
$sql = "UPDATE member_login SET logout_time=$logout_time WHERE uid=$uid AND session_id=$session_id";
mysql_query($sql);
}

這種方法的優(yōu)點(diǎn)是相對(duì)來(lái)說(shuō)實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,能夠適用于大多數(shù)的網(wǎng)站,沒(méi)有額外的服務(wù)器需求,而且也可以比較準(zhǔn)確的統(tǒng)計(jì)用戶的在線時(shí)間。

缺點(diǎn)也很明顯,增加了數(shù)據(jù)庫(kù)的更新操作,增加了系統(tǒng)的負(fù)載,不過(guò)對(duì)于中小型網(wǎng)站來(lái)說(shuō)應(yīng)該不是問(wèn)題。

相關(guān)文章

  • PHP文件操作方法匯總

    PHP文件操作方法匯總

    這篇文章主要介紹了PHP文件操作方法匯總的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • php抓取https的內(nèi)容的代碼

    php抓取https的內(nèi)容的代碼

    有時(shí)候需要獲取https網(wǎng)頁(yè)的內(nèi)容,下面得方法,可以參考下。
    2010-04-04
  • PHP實(shí)現(xiàn)網(wǎng)站應(yīng)用微信登錄功能詳解

    PHP實(shí)現(xiàn)網(wǎng)站應(yīng)用微信登錄功能詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)網(wǎng)站應(yīng)用微信登錄功能,結(jié)合實(shí)例形式詳細(xì)分析了php實(shí)現(xiàn)微信授權(quán)登錄功能的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04
  • PHP Laravel門面的實(shí)現(xiàn)原理詳解

    PHP Laravel門面的實(shí)現(xiàn)原理詳解

    在Laravel中,門面為應(yīng)用服務(wù)容器中綁定的類提供了一個(gè)“靜態(tài)”接口,使得我們可以不用new這些類出來(lái),就可以直接通過(guò)靜態(tài)接口調(diào)用這些類中的方法。本文就來(lái)詳細(xì)聊聊Laravel門面的實(shí)現(xiàn)原理,希望對(duì)大家有所幫助
    2023-02-02
  • php新建文件的方法實(shí)例

    php新建文件的方法實(shí)例

    在本篇文章里我們給大家分享的是關(guān)于php文件如何新建的實(shí)例內(nèi)容,有需要的朋友們可以參考下。
    2019-09-09
  • php中magic_quotes_gpc對(duì)unserialize的影響分析

    php中magic_quotes_gpc對(duì)unserialize的影響分析

    這篇文章主要介紹了php中magic_quotes_gpc對(duì)unserialize的影響,以實(shí)例的形式分析了magic_quotes_gpc安全過(guò)濾對(duì)unserialize造成的影響以及對(duì)此的解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • php中取得URL的根域名的代碼

    php中取得URL的根域名的代碼

    php中取得URL的根域名的代碼,需要的朋友可以參考下。
    2011-03-03
  • php寫入、刪除與復(fù)制文件的方法

    php寫入、刪除與復(fù)制文件的方法

    這篇文章主要介紹了php寫入、刪除與復(fù)制文件的方法,涉及php針對(duì)文件常見的操作技巧,需要的朋友可以參考下
    2015-06-06
  • php中的字符編碼轉(zhuǎn)換函數(shù)用法示例

    php中的字符編碼轉(zhuǎn)換函數(shù)用法示例

    這篇文章主要介紹了php中的字符編碼轉(zhuǎn)換函數(shù)用法示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • PHP圖片處理之圖片旋轉(zhuǎn)和圖片翻轉(zhuǎn)實(shí)例

    PHP圖片處理之圖片旋轉(zhuǎn)和圖片翻轉(zhuǎn)實(shí)例

    這篇文章主要介紹了PHP圖片處理之圖片旋轉(zhuǎn)和圖片翻轉(zhuǎn)實(shí)例,本文使用imagerotate函數(shù)實(shí)現(xiàn),自定義了多個(gè)函數(shù)來(lái)實(shí)現(xiàn)功能需求,需要的朋友可以參考下
    2014-11-11

最新評(píng)論