Php ile Online Üyeler

Tarih: Temmuz 28th, 2009 | Yazar: | Kategori: Php | Etiketler: , , , , , , , | 5 Yorum »

İnternet dünyasına adım atan birçok kişinin ilk durağı portal veya forumlardır. Eğer ki forumların alt taraflarına doğru inerseniz o anda sistemde bulunan kişilerin ufak bir listesini görebilirsiniz. İşte bizde buna benzer bir sistemin örneğini göreceğiz.

Betikte sanki bir sistem varmış gibi davranacağız. Çünkü bu tarz eklentileri yukarıda da belirttiğim gibi portal-blog-forum gibi siteler içerisinde yer alırlar. Aslına bakarsanız hazır sistemlerde kişilerin nerede olduğu gibi veriler de yer alıyor yalnız biz sadece o anda bulunan kişileri alacağız…

Öncelikle kodları verelim;

session_start();
function online() {
//MYSQL BAGLANTI KODLARI

$sure = time()-600;
$uye = $_SESSION["nick"];
$mysql = mysql_query("update online set zaman='time()' where uye='$uye'");
$sorgu = mysql_query("Select uye from online where zaman>='$sure'");

while ($sonuc=mysql_fetch_array($sorgu)){
echo "<a href='$sonuc[0]'>".$sonuc[0]."</a>";
}

$mysql = mysql_query(" delete from online where zaman<'$sure'");

}

Öncelikle oturumumuzu başlatıyoruz. Sonra $sure isimli değişkene bundan yaklaşık 10 dk öncesini alıyoruz. time() fonksiyonu çalıştırıldığı anın saniye cinsinden verisini bize verir. Sanıyorum 1 Ocak 1970′ den beri olan sürenin…

1 dk = 60 sn orantısından 60*10 = 600 sn elde ediyoruz ve time() verisinden çıkarıyoruz. Bu sayede kodun çalıştırıldığı andan 10 dk öncesi elde edilmiş oluyor. Sonrasında kullanıcının nick verisini alıyoruz ve veritabanından kullanıcıyı seçip zaman isimli verisini şu andaki saniye ile değiştiyoruz. Hemen ardından mysql veritabanından zaman isimli sütunu şu andaki $sure yani normal andan 10 dk öncesi şeklinde bir şartla çağırıyoruz.

Yukarıdaki teknik sayesinde zaman isimli sütunu 10 dk öncesinden geri kalanlar alınmıyor ve sistemden düşmüş kabul ediliyor. Onun ardından seçilen kişiler tek tek yazdırılıyor.

Bunun dışında bizim istediğimiz zaman dışında kalanlar fazlalık yaratmasın diye veritabanından siliyor…

Peki bu kodları nasıl çalıştırıcaz?

Arkadaşlar kodlar fonksiyon haline getirilmiş durumda ki heryerde rahatça kullanılabilsin. İşte bu yüzden biz de fonksiyonu çağırıyoruz;

online();

Ve kolayca sisteme adapte olabilir hale gelip, çalışıyor. Unutmadan veritabanı;

online isimli tablo altına zaman ve uye isimli iki adet sütun ekleyeceksiniz…

Eğer ki yukarıdakini yapamam diyorsanız;

CREATE TABLE `online` (
  `uye` text NOT NULL,
  `zaman` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin5;

Kodlarını veritabanız üzerinde çalıştırabilirsiniz…

Sorularınızı yorum olarak devam ettirebilirsiniz. İyi günler, iyi çalışmalar…




Benzer Yazılar;

coded by nessus

“Php ile Online Üyeler” yazısında 5 Ahkam var.

  1. 1 OnurAgtas 21:46 on Temmuz 28th, 2009 anında kesmiş:

    while ($sonuc=mysql_fetch_array($sorgu)){ burdaki sorgu ne ?

  2. 2 EeTr 22:02 on Temmuz 28th, 2009 anında kesmiş:

    Hehe kodları denemeden yolladım atlamışım o kısmı;

    üstteki $mysql isimli değişkenin $sorgu olması lazım yalnız kodları tekrar düzelttim. Deyebilirsiniz :)

  3. 3 Kesdi Hane’ ye Hoşgeldiniz » php ile online uyeler 19:32 on Kasım 15th, 2009 anında kesmiş:

    [...] : Bir Öğrenci Klasiği Not: Yazının kendisine ait olduğunu öğrendikten sonra Ertuğrul arkadaşımızın sayfasını [...]

  4. 4 ametcho 19:52 on Ağustos 1st, 2010 anında kesmiş:

    mysql sorgulatırken hata veriryor

  5. 5 sean 17:33 on Aralık 5th, 2011 anında kesmiş:

    Çok teşekkürler..


Ahkam Kesme Aparatı

  • *