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