PHP | Online Ziyaretçi Takibi
Bu dersimizde Sitelerin vazgeçilmezlerinden olan online kullanıcı ve ziyaretçi bildirimi yapan bir program hazırlayacağız. Dersimizin sonunda kolayca sitenize ekleyebileceğiniz. Bir online kullanıcı ve ziyaretçi takip programı oluşturmuş olacağız. Programa geçmeden önce programı kullanmak isteyecek arkadaşlar için bazı açıklamalarım olacak. Eğer programın online üyeleri de göstermesini istiyorsanız kullanıcılarınız giriş yaptığında rumuzlarını bir session değişkenine atın. Aşağıdaki tabloyu veri tabanınızda oluşturun. Birde unutmadan mysql bağlantı değişkenlerini kendi veri tabanınıza göre değiştirin sonra şikayet etmeyin kod çalışmıyor diye .
Tablo Yapısı:
CREATE TABLE `oturum` (
`id` int(11) unsigned NOT NULL auto_increment,
`ip` varchar(25) NOT NULL default ”,
`isim` varchar(25) default NULL,
`sure` varchar(25) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
<?
session_start();
$conn=mysql_connect("host","kullanıcı adı","sifre") or
die("Veri tabanına bağlanılamadı Hata Kodu: ".mysql_errno($conn));
$db=mysql_select_db("veritabanı");
if(!$db){echo "veritabanı şeçilemiyor";}
$ip = $_SERVER['REMOTE_ADDR']; //ip adresini değişkene alıyoruz
if(session_is_registered("rumuz")){$online_rumuz=$rumuz;}
//kullanıcı kayıtlımı kontrol ediyoruz.
/*Eğer 15 dakikadan fazla kullanıcı aktif değilse
veri tabanından sileceğiz.*/
$zaman=time();
//şimdik zamanın zaman mührünü aldık
$zaman_asimi = $zaman-900;
//zaman aşımını 15 dakika olarak ayarladık size kalmış
mysql_query("DELETE FROM oturum WHERE sure < $zaman_asimi");
/*Sildiğimiz aktif olmayan kullanıcılardan sonra aktif
olan kullanıcıların $zaman aşımı başlangıç sürelerini
şimdiki zamana update edelim ki 15 dakika daha süre verelim.*/
$zaman=time();
$zaman_asimi = $zaman-900;
$update=mysql_query("UPDATE oturum set sure='$zaman' WHERE ip = $ip and sure > $zaman_asimi");
//Simdide sayfamızı yeni açan kullanıcıları kayıt edelim.
$sorgu=mysql_query("select ip from oturum where ip='$ip'");
$kayit=mysql_num_rows($sorgu);
if($kayit==0)
{
$zaman=time();
mysql_query("INSERT into oturum (id,ip,isim,sure) VALUES('','$ip','$online_rumuz','$zaman')");
}
/*Buraya kadar yapmamız gereken işlemleri yaptık
şimdide online kullanıcı ve ziyaretçi sayımızı gösterenbir
fonksiyon hazırlayalım.*/
function online()
{
$sorgu=mysql_query("SELECT ip from oturum");
$toplam_online=mysql_num_rows($sorgu);
$sorgu2=mysql_query("SELECT isim from oturum where isim != ''");
$online_uye=mysql_num_rows($sorgu2);
$ziyaretci=$toplam_online-$online_uye;
if($sorgu){mysql_free_result($sorgu);}
if($sorgu2){mysql_free_result($sorgu2);}
mysql_close();
return "Sitede".$ziyaretci."ziyaretci".$online_uye."üye toplam".$toplam_online."kullanıcı online";
}
/*Fonksiyonumuz hazır yapmanız gereken bu sayfayı
her sayfanıza include edip echo online(); yazmak. */
?>
Evet arkadaşlar kodumuz hazır umarım faydalı olur. Soru ve yorumlarınızı foruma yazabilirsiniz. Hepinize iyi çalışmalar.
Okan ATABAĞ
Kaynak : TheCoders.Net














Bu yazı http://www.thecoders.net sitesinden alınmıştır.Lütfen emeğe saygı duyunuz ve aldığınız kaynağı belirtiniz…
http://www.thecoders.net/dersmakaleoku-1-82-PHP–Online-Ziyaretci-Takibi.html
Emeğe Saygımız Herzaman vardir. Tskler.