Hiển thị tổng số lượng người truy cập vào website trong một khoảng thời gian nhất định.
Hiển thị tổng số lượng người truy cập vào website trong một khoảng thời gian nhất định.
Mỗi khi có người truy cập vào website thì chúng ta tiến hành kiểm tra.
3.1. Tạo CSDL:
CREATE TABLE IF NOT EXISTS `guest _online` (
`guest_id` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`time` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
3.2. Tạo file guest_online.php
<?php
session_start(); //khởi tạo session
$guest_id = session_id();
$time = time();
$time_check = $time-600; //Ấn định thời gian là 10 phút
$host = "localhost"; //Tên host, thường là localhost
$username="root"; //Mysql username
$password=""; //Mysql password
$db_name="demo"; //Tên cơ sở dữ liệu
$tbl_name="guest_online"; //Tên bảng (table)
// Kết nối tới sever và chọn database
mysql_connect("$host", "$username", "$password") or die("Cannot connect to server.");
mysql_select_db("$db_name") or die("Cannot select DB");
$sql = "SELECT * FROM $tbl_name WHERE guest_id ='$guest_id ";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if($count=="0"){ //Truy cập lần đầu
$sql1="INSERT INTO $tbl_name(guest_id, time)VALUES('$guest_id', '$time')";
$result1=mysql_query($sql1);
}else{ //Truy cập từ lần thứ 2
$sql2="UPDATE $tbl_name SET time='$time' WHERE guest_id = '$guest_id'";
$result2=mysql_query($sql2);
}
$sql3 = "SELECT * FROM $tbl_name";
$result3 = mysql_query($sql3);
$count_user_online = mysql_num_rows($result3);
echo "Số người đang online: $count_user_online";
//Nếu quá 10 phút, xóa bỏ session
$sql4 = "DELETE FROM $tbl_name WHERE time < $time_check";
$result4=mysql_query($sql4);
//Đóng kết nối
mysql_close();
?>
Kết luận:
Trên đây là một ứng dụng cơ bản nhằm hỗ trợ các bạn hiểu vấn đề về việc đếm số người đang online. Chú ý chúng ta có thể sửa biến $time_check để thay đổi thời gian đếm. Chúc các bạn thành công!
Các Tin Khác: