Ở những bài trước mình đã hướng dẫn mọi người làm login và edit user trong php và hôm nay mình sẽ giới thiệu đến mọi người một tính năng mới trong php đó là thống kê sống người đang online trong web của bạn.
Vì
đây là một trong những chức năng nhỏ trong lập trình php nên mình sẽ không đi
sâu vào phần thống kê được bao nhiêu thành viên tổng online từ trước đến giờ mà
chỉ hiển thị số người hiện tại đang ol web của bạn thôi.
Đâu tiên bạn khởi tạo csdl với đoạn code sau
Trước hết, chúng ta khởi tạo cở sở dữ liệu như sau. (xem lại bài bài 9: ngôn ngữ SQL và MYSQL cơ bản)
Trước hết, chúng ta khởi tạo cở sở dữ liệu như sau. (xem lại bài bài 9: ngôn ngữ SQL và MYSQL cơ bản)
mysql> create table useronline(tgtmp
INT(15) DEFAULT “0” NOT NULL ,
ip VARCHAR(50) NOT NULL ,
local VARCHAR(100) NOT NULL,
PRIMARY KEY(tgtmp),
KEY ip(ip),
KEY
local(local));
Trong
đó thì tgtmp là thời gian người dùng truy cập tính từ lúc họ vào web
IP
là thông tin ip của người dùng khi vào web
local
là vị trí người dùng truy cập
Khi
mà người dung vào web thì chúng ta sẽ lưu thông tin người dùng vào csdl với các
tham số cơ bản như trogn data
tgtmp
được lưu vào hàm time() và nó sẽ lấy thời gian người dùng truy cập.
Khi người dùng truy cập vào trang web, chúng ta sẽ tiến hành insert thông tin
của họ vào cơ sở dữ liệu với các tham số cơ bản nhưng trong database.
<?php
$tg=time();
$tgout=900;
$tgnew=$tg – $tgout;
?>
Xem
thêm: Bộ tai lieu hoc lap trinh php
Như
thế chúng ta đã lưu được trong data thời gian của người dùng và biết được quãng
thời gian họ ở lại bắt đầu từ lúc nào và thoát ra vào thời gian nào.Nếu sau một
thời gian bạn không truy cập web hoặc không làm gì thì nó sẽ không lưu thông tin
của bạn.
<?php
$conn=mysql_connect(“localhost”,”root”,”root”)
or die(“can’t connect”);
mysql_select_db(“online”,$conn);
?>
Sau khi lưu thông tin của người dùng vào CSDL:
<?php
$sql=”insert into
useronline(tgtmp,ip,local) values(‘$tg’,’$REMOTE_ADDR’,’$PHP_SELF’)”;
$query=mysql_query($sql);
?>
$REMOTE_ADDR Sử dụng để lấy ip người dùng$PHP_SELF Lấy ra đường dẫn mà người dùng truy cập
<?php
$sql=”delete from useronline where tgtmp
< $tgnew”;
$query=mysql_query($sql);
?>
Tiếp đến là hiển thị thông tin ra bên ngoài bằng việc liệt kê record trong
data
<?php
$sql=”SELECT DISTINCT ip FROM useronline
WHERE local=’$PHP_SELF'”;
$query=mysql_query($sql);
$user = mysql_num_rows($query);
?>
Trong đó thì DISTINCT là cú pháp liệt kê các record và không cho phép sử
dụng dữ liệu trùng lặp trong cú pháp select.Như vậy các bạn đã liệt kê được tất
cả các bản ghi truy cập trên trang useronline.php và cuối cùng là xuất thông tin
đó ra web.
Gợi
ý xem thêm:
- Chương trình đào tạo khoa hoc lap trinh php
- Tìm hiểu về session trong ngôn ngữ PHP
0 nhận xét:
Đăng nhận xét