Tam bayram sabahına çıkacakken böyle bir konuyu niye yazdığıma dair pek de bir fikrim yok açıkçası..

Uzun zamandır Php öğrenmek istiyordum ve bunu herhangi projeye sıfırdan başlayarak yapamayacağımdan düzenleyerek gitmeyi, dersler izleyerek mantığını kavramayı tercih ettiğimden Tayfun’un BBSY derslerinden izleyerek bir blog scripti hazırladım kendime. Geliştirmeler yaparken sitenin olmazsa olmazlarından ziyaretçi sayacı yapmak geldi aklıma. Sezer abi’den de yardımlar alarak ziyaretçi bilgilerini veritabanına kaydetmeyi başardım.

Öncelikle; geçerli sitenin phpmyadmin’inden varolan veritabanı içerisine bir tablo açıp adını sayac yapalım, ardından 3 tane sütun oluşturalım. Bana lazım olanlar sıralama için id, ip ve ziyaret tarihi, ve bunların türleri görseldeki gibi olmalı.

Screenshot_1

Sonrasında veritabanı bağlantısının yapıldığı (veya include edildiği) ve sitenin her sayfasında görünen bir .php dosyasına aşağıdaki kodları yazıyoruz.

function get_ip_address() {
$ip_keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR');
foreach ($ip_keys as $key) {
if (array_key_exists($key, $_SERVER) === true) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
// trim for safety measures
$ip = trim($ip);
// attempt to validate IP
if (validate_ip($ip)) {
return $ip;
}
}
}
}
return isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : false;
}
function validate_ip($ip)
{
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) === false) {
return false;
}
return true;
}
$gercek_ip = get_ip_address();
$sorgu=mysql_query("insert into sayac (ip) values ('".$gercek_ip."')");
if($sorgu){
echo '';
}else{
echo '';
}

Önce get_ip_address fonksiyonuyla ziyaretçinin ip adresini çekiyoruz ve $gercek_ip değişkenine atıyoruz. Sonrasında da gelen ip verisini veritabanına yazdırıyoruz. ID ve tarih kısımları otomatik işaretli olduğundan sistem güncellemeyi kendisi yapıyor.

Daha sonra bize lazım olacak veriler toplam ziyaret sayısı. Verilen bu kod ile toplam ziyaretçi sayısını yazdırabilirsiniz.

<p><?php $veri=mysql_query("SELECT * FROM sayac");echo mysql_num_rows($veri);?> çoğul ziyaretçi</p>

Şöyle de bir bilgilendirme yapmak istiyorum, ziyaretçi sayısı arttıkça veritabanına yığılmalar da artacaktır haliyle ki bir zaman sonra bu verileri temizlemeniz gerekecek. Bu işlemi de ayrı bir .php sayfası açıp içerisine aşağıdaki kodları yerleştirerek çözebilirsiniz.

 <?php $query = mysql_query("TRUNCATE TABLE sayac ");
if($query){
echo 'Ziyaretçi kayıtları başarıyla silindi';
}else{
echo 'Hata oluştu'.mysql_error();
} ?>
PAYLAŞ
Önceki İçerikİzledim: Sen Aydınlatırsın Geceyi
Sonraki İçerikNerelerdeyim..
Elektronik Haberleşme okuyorum. HTML/Css, az çok php ve biraz da Jquery bilen, müzik üretebilen, grafik tasarım konularında iddaalı birisiyim. Kişisel, tasarımsal ve diğer kategorilerde yazılar yazmaktayım

5 YORUMLAR

CEVAP VER