Ben üyelik sistemi yazarken eğer online kullanıcıları görmek istiyorsam şöyle birşey yapıyorum.
Üyelerin bulunduğu tabloya son işlem zamanını içeren bir sütun açıyorum. Her üye işleminde (sayfa değiştirme, yenileme, vs) bu sütunu güncelliyorum. Güncellerken o anki zamanı time(); fonksiyonu ile yazdırıyorum.
Online üyeleri listelerken bu tabloya göre son 5dk içinde işlem yapmış üyeleri;
SELECT * FROM uyele WHERE son_islem = '$bes' sorgusu ile listeliyorum. Burdaki
$bes = time() - 60*5; oluyor 5 dk öncesini alabilmek için.
Bu sayede adam tarayıcıyı kapatıp çıkmış olsa bile en fazla 5 dk sonra online listesinden düşüyor.