Online Ziyaretçiler Hakkında (Php)
-
Sayfadaki online ziyaretçilerin ip lerini text dosyasına yazdırmak istiyorum. php bilgim yok denecek kadar az. sağdan soldan derlediğim kodlarla aşağıdakileri yaptım.
<?php
$dosya_adi = "onlinelar.txt";
$dosya = fopen ($dosya_adi, 'a') or die ("Dosya yok!");
$bosluk = "\n\n";
$ipadres=$_SERVER["REMOTE_ADDR"];
fwrite ( $dosya, $ipadres );
fwrite ( $dosya, $bosluk);
fclose($dosya);
?>Buraya kadar gelebildim. Burada anlayan arkadaşların da görebileceği gibi sadece ip leri listeletmeyi başarıyorum. kullanıcı siteden çıktığında ip si hala sistemdeymiş gibi görünüyor. sadece sistemdeki kullanıcıların ip lerini göstermeyi nasıl başarabilirim ?
Aklıma gelen bir yol düzenli aralıklarla bahse konu "onlinelar.txt" dosyasını silmek. Ancak bu durumda üyelerin ip no larını tekrar alabilecek miyim bilmiyorum. Dosyayı silip sayfayı refreshlesem olur mu ? Ancak bu durumda da şöyle bir sorun ortaya çıkıyor. Her kullanıcı farklı zamanlarda sisteme gireceğinden atıyorum her 5 dakikada bir değil de daha kısa aralıklarla dosya silinip sayfa refreshlenecek. Bu durum da bazı ip lerin kaybına yol açar sanırım çünkü tek bir sayfada refresh olduğunda sadece o kullanıcının ip si gönderilecek. Sanırım bunun önüne geçmek için de client tabanlı değil server tabanlı bir zaman sayımı yapmak gerek ama emin olamıyorum.
Özet geçmek gerekirse php/text tabanlı bir online ziyaretçi sayacı nasıl yapılabilir ?
-
yapabilirmisin bilmiyorum ama ilk mantığı söyliyeyim yapmaya çalış kendini geliştirirsin yapamazsanda yaparız.
şimdi ip leri şu şekilde tut. ilk olarak bi array oluştur ip yi arraya ekle time()=ip olarak sonra arrayı serialize edip txt ye ekle
ama txt dosyasına ek olarak değilde direk yaz. sayfanın başındada txt nin içeriğini unserialize edip arraya tekrardan göstert.
dur anlatamıyorum anlatımım kıt kodluyim :D
edit: acil çıkmam gerekiyor istediğin gibi bak burda var http://www.webhocam.net/dokumanlar.asp?docu=izle&docuID=298
-
cosmic bunu yazdı:
-----------------------------
yapabilirmisin bilmiyorum ama ilk mantığı söyliyeyim yapmaya çalış kendini geliştirirsin yapamazsanda yaparız.
şimdi ip leri şu şekilde tut. ilk olarak bi array oluştur ip yi arraya ekle time()=ip olarak sonra arrayı serialize edip txt ye ekle
ama txt dosyasına ek olarak değilde direk yaz. sayfanın başındada txt nin içeriğini unserialize edip arraya tekrardan göstert.
dur anlatamıyorum anlatımım kıt kodluyim :D
edit: acil çıkmam gerekiyor istediğin gibi bak burda var http://www.webhocam.net/dokumanlar.asp?docu=izle&docuID=298
-----------------------------Teşekkürler verdiğin adresteki kodlar çalıştı, 001 olarak kendimi görüyorum ancak kodları tam olarak yorumlayamadım. Yine de çok teşekkürler. Sanırım taban olarak böyle bişey arıyorum =).
-
Kodları denedim ancak sayfada 2 kişiyken sayıyı sürekli artıyor gösterdi. en son 11 kişi görünüyordu sayfada. Sanırım kodlarda küçük bir hata var.
