Tùy chọn tốt nhất là không sử dụng cờ hoạt động / không hoạt động trong cơ sở dữ liệu, mà sử dụng một thứ gì đó như last_active
dấu thời gian. Khi người dùng truy cập một trang, hãy cập nhật dấu thời gian thành CURRENT_TIMESTAMP()
. Và để xác định xem người dùng hiện đang hoạt động hay không, hãy truy vấn WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Đảm bảo bạn đặt active_timestamp
dưới dạng DATETIME
gõ cấu trúc bảng. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Vấn đề ở đây là tập lệnh của bạn có vẻ muốn loại bỏ người dùng khi phiên không hoạt động. Đối với điều này, bạn nên xem JavaScript, đặt đồng hồ đếm ngược hơn 1 giờ và nếu không có hoạt động nào, hãy chuyển hướng trang.