Teşekkürler
Bende online üyeleri göstermenin mantığını epey aramıştım , bunuda ben paylaşıyım.
Anlatım Hakikat Oruçoğlunun'dur
//veritabanýna online diye bir tablo acýn..
// id,ziyaretci,sure,durum,ip þeklinde alanlar açýn
// kullanýcýnýn oturum nesnesini alalým
$kullanici = $_SESSION["kullanici"];
//ziyaretci deðiþkenine oturum nesnesini atalým
$ziyaretci = $kullanici;
// ziyaretci durumu 1 olan kiþiler üye demektir.
$zdurum = 1;
$suankizaman = time();
// online oturum süresini ayarlayalým bu süre son 5 dk içinde online olanlar þeklinde 5*60 denilmiþtir
$oturumsuresi = time()+5*60;
// ziyaretcinin ip adresini alýyoruz
$zip = $_SERVER["REMOTE_ADDR"];
// eger ziyaretci bir uye deðilse onun ziyaretci adýný ip adresiyle dolduruyoruz ve durumunu 0 yapýyoruz bu sayede durumu 0 olanlar misafir ziyaretci olacaktýr
if($ziyaretci==""){
$ziyaretci = $zip;
$zdurum = 0;
}
//-- oturum girdisi baþlangýç
// bu ip ye ait veritabanýnda bir kayýt varmý soruyoruz
$zsor = mysql_query("SELECT ip FROM online WHERE ip=`$zip`");
// eger kayýt varsa oturum süresini update ediyoruz
if(mysql_num_rows($zsor) > 0){
mysql_query("UPDATE online SET ziyaretci=`$ziyaretci`,durum=`$zdurum`,sure=`$oturumsuresi` WHERE ip=`$zip`");
}else{
// eger kayýt yoksa yeni bir kayýt giriyoruz
mysql_query("INSERT INTO online (ziyaretci,sure,durum,ip) VALUES (`$ziyaretci`,`$oturumsuresi`,`$zdurum`,`$zip`)");
}
// siteden cýkmýþ olan uyeleri online tablosundan silelim
mysql_query("DELETE FROM online where sure<`$suankizaman");