A. php做用戶在線與離線狀態
在用戶表裡加個session欄位存取時間戳。在文件頭每次刷新就更新它。一定時間不刷新就表示人物離線了。讀取這個會員數據的時候和當前時間戳對比小於一定數就離線了
B. php在線/離線狀態如何處理,主要是離線 - 技術問答
將每次操作時的time()寫入會員中的online欄位,判斷時用online+間隔 是否小於當前時間,如果小於,則判斷為在線,否則不在線
C. 會員在線時間每30分鍾給會員積分加1分如何實現求php代碼!!在線等 !!急!!
建議用cookies
用戶每次登陸後,修改cookies中的登陸時間
登陸以後在頁面最外面一層框架上寫一個AJAX函數,每2分鍾(時間越長精確不高,時間越短對伺服器負荷也大)去修改一次登陸累計時間。
當滿足大於30分鍾的時候就更新積分。更新後把登陸時間改為0
--參考部分代碼,AJAX函數基本jquery的--
function checkTimeout(){
var date= new Date()
//調用ajax函數
var url="xxx.php"
$.getJSON(url,function(json){
alert( date.getMinutes());
});
}
window.onload = function(){
window.setInterval("checkTimeout()",120000);//1000為一秒
}
D. 關於 php 獲取在線人數
function online_user() {
global $tablepre, $db, $localtime;
// 超時時間
$outtime = $localtime - (60 * 15);
// 用戶相關參數
$uid = isset($_SESSION['s_userid']) ? intval($_SESSION['s_userid']) : 0;
$ip = $_SERVER['REMOTE_ADDR'];
$sid = substr(md5($ip), 0, 5);
// 刪除同Ip用戶
$user = $db -> fetch_one_array("SELECT * FROM {$tablepre}onlineuser WHERE sid = '$sid' AND ip = '$ip' ");
if (!empty($user)) {
// 更新當前用戶狀態
$db -> query("UPDATE {$tablepre}onlineuser SET uid = $uid, activetime = $localtime WHERE sid = '$sid' AND ip = '$ip' ");
} else {
// 寫入當前用戶狀態
$db -> query("INSERT INTO {$tablepre}onlineuser (sid,uid,activetime,ip) VALUES ('$sid',$uid,$localtime,'$ip')");
}
// 刪除超時用戶
$db -> query("DELETE FROM {$tablepre}onlineuser WHERE activetime < $outtime ");
}
資料庫欄位:sid,uid,activetime,ip
在程序入口外調用
E. php如何實現分別統計網站的在線人數(如管理員,遊客,會員),越詳越好!
實現刷新在線用戶列表,思路建立一個Session臨時表 每次用戶登陸就寫入用戶的 ID 級別 臨時時間 等 重點在臨時時間的欄位數據,寫入之後用戶每次刷新頁面或者打開新頁面就更新Session表裡的用戶數據 步驟是先刪除5分鍾之內沒有操作的用戶,利用臨時時間欄位來判斷 刪除後剩下的就是在線的用戶,很簡單, 總體就是 記錄 更新 刪除 獲取PS:這個超時時間你可以根據自己網站的情況設置
F. php 如何顯示在線用戶數量以及用戶信息
要使用資料庫,建立一個表,比如名字是online,至少有以下列:
name_ip 存放登錄用戶名,未登錄的存放IP,char類型
url 存放每個頁面的地址,char類型
last_time 存放刷新頁面的最後時間,int類型
表的主鍵是:name_ip+url
每個頁面一開始就要刷新這個表,使用的SQL是:
$name_ip='用戶名或者IP';//你能搞定
$url=$_SERVER["PHP_SELF"];
$time=time();
$sql="replace delayed into online (name_ip,url,last_time) values ('$name_ip','$url',$time)";
mysql_query($sql);
獲取某頁面在線人數的查詢是語句
$limit=time()-10*60;//10分鍾內訪問的認為在線,10分鍾*60秒/分鍾
$sql="select count(*) from online where url='$url' and last_time>=$limit";
$res=mysql_query($sql);
list($online_count)=mysql_fetch_row($res);
mysql_free_result($res);
echo "本頁面在線人數: $online_count";
G. 怎麼用PHP代碼顯示在線會員人數和名稱(求代碼)
這個一般都是使用緩存, 而且是資料庫緩存哈,
具體的你可以去研究一下 Discuz!
代碼不是一兩句話可以寫清楚的
H. php實時顯示會員在線狀態
一般用戶的在線狀態都是存放於session表中,可以設置session的過期時間,如果超過這個時間段用戶沒有對網站進行操作,則視之不在線。如果對網站進行了操作,則更新session信息。
I. 在PHP中,會員系統中會員等級與積分的思路!
在用戶表中加入一個等級欄位和一個積分欄位不就能確定用戶等級了
然後在建立一個等級許可權表。表中欄位有:
等級,許可權1,許可權2,許可權3……
除了等級意外,許可權欄位的屬性都是tinyint(1),值為0表示沒有這個許可權,為1表示有這個許可權