Hướng dẫn how can i get online user in php? - làm cách nào để có được người dùng trực tuyến trong php?

10

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang xây dựng một trang web cộng đồng. Người dùng sẽ đăng nhập và đăng xuất như thường lệ.

Tôi sử dụng trạng thái thuộc tính trực tuyến/ngoại tuyến để đặt trạng thái của người dùng. Nhưng điều gì sẽ xảy ra nếu người dùng chỉ nhấp vào nút X hoặc ngắt kết nối khác mà không đăng xuất?

Gần đây máy tính của tôi bị sập, khi tôi mở trang web bằng máy tính xách tay của mình, tôi không thể đăng nhập vì tôi không cho phép đăng nhập ở hai nơi. Tôi đến phpmyadmin và tôi thấy trạng thái của tôi vẫn còn trực tuyến. Có bất kỳ sửa chữa cho điều này.

Tôi đã thử điều Activitiy Last_Time nhưng điều đó không hoạt động trong trường hợp gặp sự cố máy tính! Và không có gì không tương tác hoặc làm mới để cập nhật bảng.

Neoophyte

6.4742 Huy hiệu vàng27 Huy hiệu bạc43 Huy hiệu đồng2 gold badges27 silver badges43 bronze badges

Đã hỏi ngày 6 tháng 11 năm 2011 lúc 9:50Nov 6, 2011 at 9:50

Bạn không cần cờ trực tuyến/ngoại tuyến, bạn chỉ cần lưu thời gian hoạt động cuối cùng. Khi hiển thị trạng thái người dùng, nếu thời gian hoạt động cuối cùng ít hơn bây giờ+15 phút thì người dùng đang trực tuyến, ngoại tuyến.

Đã trả lời ngày 6 tháng 11 năm 2011 lúc 10:01Nov 6, 2011 at 10:01

Do tính chất của web, bạn không thể biết khi người dùng ngắt kết nối, truyền cáp hoặc tắt máy tính của anh ta mà không có lịch sự nói với bạn.you can't know when a user disconnects, yanks the cable or shuts down his computer without politely telling you.

Bạn có thể có một tập lệnh [AJAX] kiểm tra cứ sau mỗi phút x xem liệu trình duyệt có còn phản hồi không và nếu không, hãy chuyển ngoại tuyến - nhưng điều đó sẽ tiêu tốn thêm tài nguyên. Đây là cách ví dụ như một IRCD hoạt động: Họ ping bạn, bạn trở lại. Nếu bạn không quay lại, bạn hết thời gian và bị ngắt kết nối với máy chủ.

HTTP là không quốc tịch, không có giải pháp tích hợp nào khác. Có thể HTML5 và ổ cắm, nhưng đó sẽ là nguyên tắc tương tự như chỉ đơn giản là Ajax.

Đã trả lời ngày 6 tháng 11 năm 2011 lúc 10:14Nov 6, 2011 at 10:14

KonerakkonerakKonerak

38.6K12 Huy hiệu vàng96 Huy hiệu bạc117 Huy hiệu đồng12 gold badges96 silver badges117 bronze badges

3

CREATE TABLE `user_online` [
`session` char[100] NOT NULL default '',
`time` int[11] NOT NULL default '0'
] TYPE=MyISAM;

Bài Viết Liên Quan

Chủ Đề