Tải bản đầy đủ (.doc) (2 trang)

Code đếm số người đang online

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (36.19 KB, 2 trang )

Web CD
Ý tưởng:
- Người dùng mở một trang thì có nghĩa là đang online.
- Người dùng không mở trang nào sau một quảng thời gian nhất định thì xem như ra khỏi trang
1. User online:
Ý tưởng:
- Người dùng mở một trang thì có nghĩa là đang online.
- Người dùng không mở trang nào sau một quảng thời gian nhất định thì xem như ra khỏi trang
Giả mã:
Mỗi khi người dùng mở một trang thì
- Ghi vào CSDL thời điểm ghi, IP, trang đang mở
- Xóa bớt những record quá hạn tính từ thời điểm hiện tại
- Đếm số người đang xem trang theo IP
PHP:
1. $server = "localhost";
2. $db_user = "root";
3. $db_pass = "";
4. $database = "test";
5. $table = "userOnline";
6. $timeoutseconds = 300;
7. $timestamp=time();
8. $timeout=$timestamp-$timeoutseconds;
9. mysql_connect($server, $db_user, $db_pass) or die (mysql_error());
10. mysql_select_db($database);
11. mysql_query("INSERT INTO $table VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')")
or die (mysql_error());
12. mysql_query("DELETE FROM $table WHERE timestamp<$timeout") or die (mysql_error());
13. $result=mysql_query("SELECT DISTINCT ip FROM $table WHERE file='$PHP_SELF'") or die
(mysql_error());
14. $user =mysql_num_rows($result);
15. mysql_close();


16. echo "Có $user người đang xem trang $PHP_SELF.";
2. Đếm số người vào website
Ý tưởng:
- Khi người dùng mở trang chủ thì tăng số khách trong sổ ghi lên.
- Tránh xung đột khi khi có hai hoạt động đọc và ghi cùng xãy ra.
Giả mã:
- Mở file
- Khóa file
- Đọc nội dung file
- Tăng giá trị đọc lên 1
- Ghi trở lại file
- Mở khóa file
- Đóng file
PHP:
1. $COUNT_FILE = "countVisitor.dat";
2. if (file_exists($COUNT_FILE)) {
3. $fp = fopen("$COUNT_FILE", "r+");
4. flock($fp, 1);
5. $count = fgets($fp, 4096);
6. $count += 1;
7. fseek($fp,0);
8. fputs($fp, $count);
9. flock($fp, 3);
10. fclose($fp);
11. } else {
12. echo "Can't find file, check $COUNT_FILE
";
13. }
3. Đăng nhập:
Ý tưởng:

- Người dùng phải có user name và password hợp lệ.
- Không cho đăng nhập tự động hay đăng nhập nhiều lần liên tiếp.
Giải pháp:
1. Dùng HTTP Authentication.
2. Dùng Form đăng nhập tự tạo.
PHP:
1. Dùng HTTP Authentication.
1. $user="guest"; $password="password";
2. function authenticate() {
3. header('WWW-Authenticate: Basic realm="Đăng nhập"');
4. header('HTTP/1.0 401 Unauthorized');
5. echo "Vui lòng nhập tên và mật khẩu hợp lệ";
6. exit;
7. }
8. if (!isset($_SERVER['PHP_AUTH_USER'])

×