PHPCMS2008記錄用戶在線登錄時(shí)間的方法
來源:程序員人生 發(fā)布時(shí)間:2013-11-04 04:46:13 閱讀次數(shù):3221次
最近找PHPCMS在線時(shí)間一直沒有找到比較好的解決方案。
因此自己弄了一個(gè),不過還算實(shí)用。
方法如下!
1、在phpmyadmin里運(yùn)行如下SQL語句:
ALTER TABLE `phpcms_member_info` ADD `hdendtime` VARCHAR( 20 ) NOT NULL AFTER `lastlogintime`;
ALTER TABLE `phpcms_member_info` ADD `linetime` VARCHAR( 20 ) NOT NULL AFTER `lastlogintime`;
2、打開includecommon.inc.php
增加如下代碼:
if($_userid){//更新在線時(shí)間
$time=TIME;
$ist=$db->get_one("SELECT hdendtime FROM `" .DB_PRE ."member_info` WHERE `userid`=$_userid LIMIT 1");//當(dāng)前時(shí)間
$time2=$time-$ist['hdendtime'];
if($time2>60){
$r2 = $db->query("UPDATE `" .DB_PRE ."member_info` SET linetime=linetime+60 ,hdendtime=$time WHERE `userid`=$_userid");
}
}
主要思路是用戶點(diǎn)擊任意頁面運(yùn)行此語句,當(dāng)前時(shí)間和最后更新的時(shí)間差大于60秒的時(shí)候就更增加用戶在線60秒,用戶不點(diǎn)擊的時(shí)候就無法統(tǒng)計(jì)了,我感覺用戶不點(diǎn)擊的話也沒有統(tǒng)計(jì)的意義。
3、打開memberadmin emplatesmember_manage.tpl.php
查找第一個(gè)<?=$member['username']?>
在后邊加上:
在線:<?=ceil($member['linetime']/60)?>分鐘
就可以了,大家看看效果吧,有問題聯(lián)系我哦。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)