Đếm số lượt người đang online trên web của bạn bằng PHP

Danh mục: PHP & MySQL
 

hoc php, lập trình php, luot truy cap, php code, php tutorial, user online

Nếu bạn có một website và bạn muốn xem có bao nhiêu người hiện tại đang lướt web của bạn thì đoạn code sau đây sẽ giúp bạn làm điều đó, trước khi thực hiện thủ thuật này thì chúng ta cần làm 1 vài bước .

Bước 1 : Tạo database

Giả sử chúng ta sẽ đặt tên database là demo và table là  active_sessions, và sau đây là chi tiết từng fields mà bạn sẽ tạo :

hoc php, lập trình php, luot truy cap, php code, php tutorial, user online

Bước 2 : Tạo kết nối cơ sở dữ liệu:

Các bạn tạo mới một file và đặt tên là db.php , và copy đoạn code sau rồi dán vào nó

<?php

$db_host = "localhost"; // Giữ mặc định là localhost

$db_name    = 'demo';// Can thay doi

$db_username    = 'root'; //Can thay doi

$db_password    = '';// thường là để trống, nếu bạn có đặt mật khẩu thì ghi mật khẩu tại đây

@mysql_connect("{$db_host}", "{$db_username}", "{$db_password}") or die("Không thể kết nối database");

@mysql_select_db("{$db_name}") or die("Không thể chọn database");

?>

?>

Bước 3: Các bạn tạo file mới và đặt tên là onlineNow.php, sau đó copy đoạn code sau đây và dán vào nó :

<?php

session_start();

include"db.php"; # Connect To the database

$active_sessions = 0;

$minutes = 5; # period considered active

if($sid = session_id()) # if there is an active session

{

# DB connect here

$ip = $_SERVER['REMOTE_ADDR']; # Get Users IP address

# Delete users from the table if time is greater than $minutes

mysql_query("DELETE FROM `active_sessions` WHERE

`date` < DATE_SUB(NOW(),INTERVAL $minutes MINUTE)")or die(mysql_error());



# Check to see if the current ip is in the table

$sql = mysql_query("SELECT * FROM active_sessions WHERE ip='$ip'");

$row = mysql_fetch_array($sql);

# If the ip isn't in the table add it.

if(!$row){

mysql_query("INSERT INTO `active_sessions` (`ip`, `session`, `date`)

VALUES ('$ip', '$sid', NOW()) ON DUPLICATE KEY UPDATE `date` = NOW()")or die(mysql_error());

}

# Get all the session in the table

$sessions = mysql_query('SELECT * FROM `active_sessions`')or die(mysql_error());

# Add up all the rows returned

$active_sessions = mysql_num_rows($sessions);

}

# Print the final result

echo'<b>Online Now: </b>'.$active_sessions;

?>

Vậy là từ đây nếu bạn muốn xem có bao nhiêu người đang truy cập thì chỉ cần chạy file onlineNow.php là có thể biết kết quả.

 



BÀI VIẾT KHÁC
CODE GỢI Ý CHO BẠN
BÌNH LUẬN

BẢN QUYỀN ®
Mọi chia sẻ nội dung thuộc tác quyền của MANGUON.COM phải ghi rõ "Nguồn MANGUON.COM"