//---------------------------------
// Tình hình truy cập: http://phpcodevn.com/forum/viewtopic.php?f=29&t=1487
//---------------------------------
$sid = session_id();
$CurrentTime = time();
$TimeOut = $CurrentTime - 300; // kiểm tra mỗi 5 phút.
//Xóa các record da truy cap truoc do 5 phut
mysql_query("DELETE FROM online WHERE time < $TimeOut");
$UserName = $_SESSION['name'];// Biến tên của User đã đăng nhập.
mysql_query("DELETE FROM online WHERE name='' and sid=\"$sid\"");
//Kiễm tra Session này có trong Database không?
$check_sid_exist = mysql_num_rows(mysql_query("SELECT * FROM online WHERE sid = \"$sid\""));
if ($check_sid_exist!=0)
{
//User này đã có trong bảng Online thì cập nhật thời gian online
mysql_query("UPDATE online SET time = \"$CurrentTime\" WHERE sid = \"$sid\"");
}
else
{
//Nếu không tạo Record mới
mysql_query("INSERT INTO online(name, sid, time)
VALUES (\"$UserName\", \"$sid\", \"$CurrentTime\")");
}
//Tổng số Guest đang online
$totalguest_qr = mysql_query("SELECT count(*) AS gnum FROM online WHERE name = ''");
while ($gnum = mysql_fetch_array($totalguest_qr))
{ $ttg = $gnum['gnum']; }
//Tổng số User đang online
$totaluser_qr = mysql_query("SELECT count(DISTINCT name) AS unum FROM online WHERE name != ''");
while ($unum = mysql_fetch_array($totaluser_qr))
{ $ttu = $unum['unum']; }
//Danh sách user đang truy cập
$userlist_qr = mysql_query("SELECT name FROM online WHERE name != ''");
while ($ulist = mysql_fetch_array($userlist_qr))
{ $userlist .= $ulist['name'].", "; }
//--------------------------------- [/PHP]
Nguồn: http://freecodevn.com/for@um/showthread.php?t=53149
Thứ Tư, 15 tháng 9, 2010
Đếm số người online dùng session
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét