Tìm kiếm
Similar topics
Latest topics
Đăng nhập với tên thanhvien VIP
28/8/2010, 21:37 by ABC
BẠN CÓ THỂ ĐĂNG KÝ RỒI ĐĂNG NHẬP
HOẶC ĐĂNG NHẬP
VỚI TÊN thanhvienvip
hoặc thanhvien 1
hoặc thanhvien 2
hoặc thanhvien 3
và mật khẩu là 1234567890
để không có dòng quảng cáo trên.
HOẶC ĐĂNG NHẬP
VỚI TÊN thanhvienvip
hoặc thanhvien 1
hoặc thanhvien 2
hoặc thanhvien 3
và mật khẩu là 1234567890
để không có dòng quảng cáo trên.
Comments: 0
HỌC ĐI ĐÔI VỚI HÀNH ?
28/4/2010, 22:40 by Admin
Học đi đôi với hành
“ trăm hay không bằng tay quen”. người lao động xưa đã từng quan niệm rằng lí thuyết hay không bằng thức hành giỏi. điều đó cho thấy người xưa đã đề cao vai trò của thức hành . trong khi đó những kẻ học thức chỉ biết chữ nghĩa thánh hiền, theo lối học từ chương sáo mòn cũ kĩ. …
[ Full reading ]
“ trăm hay không bằng tay quen”. người lao động xưa đã từng quan niệm rằng lí thuyết hay không bằng thức hành giỏi. điều đó cho thấy người xưa đã đề cao vai trò của thức hành . trong khi đó những kẻ học thức chỉ biết chữ nghĩa thánh hiền, theo lối học từ chương sáo mòn cũ kĩ. …
[ Full reading ]
Comments: 2
Bài 16: Viết ứng dụng đếm số người online bằng php
Trang 1 trong tổng số 1 trang
Bài 16: Viết ứng dụng đếm số người online bằng php
Bài 16: Viết ứng dụng đếm số người online bằng php
Trong bài này, chúng ta sẽ nói về cách thức xây dựng tính năng thống kê số người đang viếng thăm website của bạn. Vì là chức năng nhỏ, nên tôi không đi nhiều về những tính năng lớn như bao nhiêu khách, bao nhiêu thành viên,...Chỉ đơn thuần là quá trình hiển thị hiện tại có bao nhiều người đang thăm viếng website của 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)view source
print?
tgtmp là thời gian mà họ truy cập được tính khi họ truy vào trang web đó.
IP là dãy số lưu thông tin IP của họ khi viếng thăm website của chúng ta.
local là nơi lưu đường dẫn mà họ đang 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.
tgtmp được tính ra bằng hàm time(). Hàm này sẽ lấy ra thời gian hiện tại của người truy cập. Tiếp tục ta lại tính thời gian mới của họ, được tính bằng việc quy ước thời gian quy định. Cụ thể ở đây tôi cho là 900 giây tương đương với 15 phút truy cập của họ.view source
print?
như vậy nếu thời gian lưu trong database mà nhỏ hơn thời gian new này thì chúng ta có thể hiểu rằng vị khách ấy đã rời khỏi website của chúng ta. Cụ thể hơn.
Ví dụ: tôi viếng thăm website đó là 7h.
như vậy hệ thống sẽ ghi thông tin lúc đó là 7h.
Nếu sau 1 thời gian tôi không làm gì, hoặc tôi không truy cập website đó nữa thì hệ thống sẽ không ghi nhận thông tin mới. Như thế nếu bây giờ 8h và trừ đi 15 phút tôi quy ước, rõ ràng là thời gian mới hiện tại là 7h45, Thời gian này vẫn lớn hơn thời điểm lưu thông tin 7h (7h45 > 7h). Do vậy, nếu chúng thỏa điều kiện đó thì chúng ta chỉ việc xóa đi các record trong cơ sở dữ liệu là xong.
Vậy ta có code kết nối CSDL như sau:(xem lại bài 10: kết hợp PHP và MYSQL trong ứng dụng)view source
print?
Sau đó ta tiến hành ghi nhận thông tin người dùng vào CSDL.view source
print?
$REMOTE_ADDR là biến môi trường dùng để lấy ra IP của người truy cập.
$PHP_SELF là biến môi trường dùng để lấy ra đường dẫn mà người dùng đang truy cập.
Tiếp đến ta tiến hành xóa record khi thời gian thực lớn hơn thời gian trong cơ sở dữ liệu.view source
print?
Tiếp tục là công việc hiển thị thông tin ra bên ngoài bằng cách liệt kệ các record có trong database.view source
print?
DISTINCT là cú pháp cho phép liệt kệ các dòng record mà không cho phép chúng có dữ liệu trùng lặp như cú pháp select bình thường.
Vậy chúng ta sẽ liệt kê tất cả những ip của những ai đang truy cập trên trang useronline.php.
Phần việc cuối cùng còn lại là chúng ta sẽ xuất thông tin ấy ra trình duyệt.
Và sau đây là toàn bộ nội dung code của trang useronline.phpview source
print?
(Bùi Quốc Huy)
Trong bài này, chúng ta sẽ nói về cách thức xây dựng tính năng thống kê số người đang viếng thăm website của bạn. Vì là chức năng nhỏ, nên tôi không đi nhiều về những tính năng lớn như bao nhiêu khách, bao nhiêu thành viên,...Chỉ đơn thuần là quá trình hiển thị hiện tại có bao nhiều người đang thăm viếng website của 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)view source
print?
1 | mysql> create table useronline(tgtmp INT(15) DEFAULT "0" NOT NULL , |
2 | ip VARCHAR(50) NOT NULL , |
3 | local VARCHAR(100) NOT NULL, |
4 | PRIMARY KEY(tgtmp), |
5 | KEY ip(ip), |
6 | KEY local(local)); |
tgtmp là thời gian mà họ truy cập được tính khi họ truy vào trang web đó.
IP là dãy số lưu thông tin IP của họ khi viếng thăm website của chúng ta.
local là nơi lưu đường dẫn mà họ đang 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.
tgtmp được tính ra bằng hàm time(). Hàm này sẽ lấy ra thời gian hiện tại của người truy cập. Tiếp tục ta lại tính thời gian mới của họ, được tính bằng việc quy ước thời gian quy định. Cụ thể ở đây tôi cho là 900 giây tương đương với 15 phút truy cập của họ.view source
print?
1 |
2 | $tg=time(); |
3 | $tgout=900; |
4 | $tgnew=$tg - $tgout; |
5 | ?> |
như vậy nếu thời gian lưu trong database mà nhỏ hơn thời gian new này thì chúng ta có thể hiểu rằng vị khách ấy đã rời khỏi website của chúng ta. Cụ thể hơn.
Ví dụ: tôi viếng thăm website đó là 7h.
như vậy hệ thống sẽ ghi thông tin lúc đó là 7h.
Nếu sau 1 thời gian tôi không làm gì, hoặc tôi không truy cập website đó nữa thì hệ thống sẽ không ghi nhận thông tin mới. Như thế nếu bây giờ 8h và trừ đi 15 phút tôi quy ước, rõ ràng là thời gian mới hiện tại là 7h45, Thời gian này vẫn lớn hơn thời điểm lưu thông tin 7h (7h45 > 7h). Do vậy, nếu chúng thỏa điều kiện đó thì chúng ta chỉ việc xóa đi các record trong cơ sở dữ liệu là xong.
Vậy ta có code kết nối CSDL như sau:(xem lại bài 10: kết hợp PHP và MYSQL trong ứng dụng)view source
print?
1 |
2 | $conn=mysql_connect("localhost","root","root") or die("can't connect"); |
3 | mysql_select_db("online",$conn); |
4 | ?> |
Sau đó ta tiến hành ghi nhận thông tin người dùng vào CSDL.view source
print?
1 |
2 | $sql="insert into useronline(tgtmp,ip,local) values('$tg','$REMOTE_ADDR','$PHP_SELF')"; |
3 | $query=mysql_query($sql); |
4 | ?> |
$REMOTE_ADDR là biến môi trường dùng để lấy ra IP của người truy cập.
$PHP_SELF là biến môi trường dùng để lấy ra đường dẫn mà người dùng đang truy cập.
Tiếp đến ta tiến hành xóa record khi thời gian thực lớn hơn thời gian trong cơ sở dữ liệu.view source
print?
1 |
2 | $sql="delete from useronline where tgtmp < $tgnew"; |
3 | $query=mysql_query($sql); |
4 | ?> |
Tiếp tục là công việc hiển thị thông tin ra bên ngoài bằng cách liệt kệ các record có trong database.view source
print?
1 |
2 | $sql="SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'"; |
3 | $query=mysql_query($sql); |
4 | $user = mysql_num_rows($query); |
5 | ?> |
DISTINCT là cú pháp cho phép liệt kệ các dòng record mà không cho phép chúng có dữ liệu trùng lặp như cú pháp select bình thường.
Vậy chúng ta sẽ liệt kê tất cả những ip của những ai đang truy cập trên trang useronline.php.
Phần việc cuối cùng còn lại là chúng ta sẽ xuất thông tin ấy ra trình duyệt.
Và sau đây là toàn bộ nội dung code của trang useronline.phpview source
print?
01 |
02 | $tg=time(); |
03 | $tgout=900; |
04 | $tgnew=$tg - $tgout; |
05 | $conn=mysql_connect("localhost","root","root") or die("can't connect"); |
06 | mysql_select_db("online",$conn); |
07 | $sql="insert into useronline(tgtmp,ip,local) values('$tg','$REMOTE_ADDR','$PHP_SELF')"; |
08 | $query=mysql_query($sql); |
09 | $sql="delete from useronline where tgtmp < $tgnew"; |
10 | $query=mysql_query($sql); |
11 | $sql="SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'"; |
12 | $query=mysql_query($sql); |
13 | $user = mysql_num_rows($query); |
14 | echo "user online :$user"; |
15 | ?> |
(Bùi Quốc Huy)
Similar topics
» Trên đời không gì vĩ đại bằng con người, trong con người không gì vĩ đại bằng trí tuệ.?
» Cách tính dung lượng - băng thông khi chọn mua hosting
» Cô giáo giúp học sinh cá biệt bằng cách viết thư
» Cách tính dung lượng - băng thông khi chọn mua hosting
» Cô giáo giúp học sinh cá biệt bằng cách viết thư
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|
29/12/2015, 16:45 by mycomputer
» Người ta bận yêu, còn em bận cô đơn…
18/12/2015, 17:04 by mycomputer
» Đông đến làm người ta cô đơn hơn phải không anh?
23/11/2015, 15:45 by mycomputer
» Em muốn được ôm anh từ phía sau
13/11/2015, 16:09 by mycomputer
» Hãy cho nhau một cơ hội để giãi bày!
9/11/2015, 16:43 by mycomputer
» Đôi lúc em chỉ muốn mình thuộc về ai đó thôi...
5/11/2015, 16:33 by mycomputer
» Trái đất này, ba phần tư là nước mắt...
27/10/2015, 16:24 by mycomputer
» Để anh kể em nghe về những người phụ nữ anh yêu...
22/10/2015, 16:21 by mycomputer
» Thương vội người đến sau...
13/10/2015, 16:09 by mycomputer