Üye giriş yaptığında veritabanında kullanıcı tablosunda ekleyeceğin bir is_online gibi bir sütun değerini 1 yaparsın. Üye oturumu kapattığında ise 0 yaparsın.
Bu sütundaki 1 ve 0 durumlarına göre online ya da offline diye listeleyebilirsin.
Diyeceksin ki oturumu kapatmadan tarayıcıyı kapatırsa ne yaparım diye.
2 ihtimalin var. Ya sunucunda cron job kuracaksın ki belli aralıklarla sunucunun session oturumu var mı diye (oturum işlemlerini session ile yaptığını varsayıyorum) ya da bir javascript ile tarayıcı kapanırkan o değeri 0 yapacak php dosyasına ajax isteği gönderen bir fonksiyon yazacaksın.