Đếm số lượt người đang online trên web của bạn bằng PHP
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à ...
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 :
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ả.
Chúc các bạn thành công !
Chuyên Mục: PHP
Bài viết được đăng bởi webmaster
-
Timon