star2218 adlı üyeden alıntı: mesajı görüntüle
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");
çok açıklayıcı değil pek tablo olustururken alan isimleri vermişssiniz fakat alan türleri ne olacak...