09/10/2018, 18:18
hỏi về cách nhận biết thành viên nào đang online bằng php ?
hi các bạn,
Các bạn có cách nào hông, chì mình với. Bắt lỗi ngay cả trường hợp member không bấm nút logout mà tắt trực tiếp browser. Và mình không muốn dùng cookies.
Cám ơn trước.
Các bạn có cách nào hông, chì mình với. Bắt lỗi ngay cả trường hợp member không bấm nút logout mà tắt trực tiếp browser. Và mình không muốn dùng cookies.
Cám ơn trước.
Bài liên quan
Hệ thống sẽ kiểm tra sid của session và IP. Nếu trong CSDL tồn tại một record có những thông số sid và IP trùng với user đang duyệt trang, và thời gian timeout chưa quá quy định thì cấp quyền duyệt trang tiếp. Nếu không thì bắt user phải đăng nhập lại.
--------------------
Còn chuyện kiểm tra sự kiện unload của Form IE thì không thể. Vì khi bạn nhận được nội dung HTML của trang là khi đó là trình duyệt đã ngắt conn với server. Bạn đang nghĩ đến việc sử dụng Javascript. Câu trả lời lại càng là không vì chính trình duyệt là kẻ đang thông dịch javascript cho bạn.
-------------------
Muốn để hủy session khi user không logout mà close browser. Bạn sử dụng thời gian timeout của session trong CSDL. Nếu thời gian từ khi sự kiện click gần nhất tới bi h lớn hơn thời gian timeout quy định thì bạn hủy session đó đi.
Thân
bạn nói rõ hơn về cách sử dụng timeout của session trong CSLD đi. Hay chỉ sách cũng được. Mình mới học php và cũng có coi sơ qua database của forum phpBB thì thấy table user của nó có field là "active", chứa kiểu true/false, nên mình nghĩ là hình như nó dùng cái này để xét xem user nào đang online , hông biết vậy có đúng hông nữa.
Vậy chứ khi mình close browser thì session vẫn chưa mất hay sao hả bạn, nếu bạn nói có cái timeout, ban đầu mình cứ nghĩ là nó mất liền chứ.
Còn cái này nữa là mình chỉ muốn mỗi máy chỉ đăng nhập một lần, nghĩa là khi mình đã đăng nhập thì nếu mình mở nhiều browser khác lên thì nó tự động đăng nhập với tên đã đăng nhập mà chưa logout. Giống như ddth này mà hông cần phải xài cookies. điều đó có được hông bạn.
Cám ơn bạn đã giúp.
Vì vậy, mỗi khi page được load, bạn có một hàm lưu lại thời gian hiện thời
time()
hình như cách này hông ổn cho lắm, mình tính làm là có một trang hiển thị danh sách đang online và khi nào user click vô thì nó sẽ tự động dò tìm tất cả các session đang còn tồn tại thì báo là còn online, mình nghĩ đến khả năng là dò tìm các ip đang kết nối tới server, kết nối đứt nghĩa là logout. Vậy đó, nhưng vẫn chưa biết làm cách nào, mới chuyển sang php mấy ngày.
Lúc trước làm cái chat bằng Java Applet thì bắt được sự kiện user close browser đột xuất. Nhưng bên php hông biết có hàm nào hông vậy?
thân.
Còn muốn bắt sự kiện unload, thì có thể móc vào sự kiện unload của body. Thí dụ: <body onunload="show_logout_page()">. Bạn có thấy nhiều trang, khi mà thoát khỏi trang đó thì nó nhảy ra quảng cáo không
Edit: đọc lại thấy viết nhầm, vừa sửa unload= thành onunload=.
Cám ơn nhiều.