Opsi terbaik adalah tidak menggunakan tanda aktif/tidak aktif dalam database, melainkan menggunakan sesuatu seperti last_active
stempel waktu. Saat pengguna mengakses halaman, perbarui stempel waktu ke CURRENT_TIMESTAMP()
. Dan untuk menentukan apakah pengguna saat ini aktif, kueri WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())
Pastikan Anda menyetel active_timestamp
sebagai DATETIME
ketik struktur tabel. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username'
)
Masalahnya di sini adalah skrip Anda sepertinya ingin mengeluarkan pengguna saat sesi tidak digunakan. Untuk ini, Anda harus melihat JavaScript, mengatur timer yang menghitung mundur lebih dari 1 jam dan jika tidak ada aktivitas, redirect halaman.