Ziyaretçi Bilgilerini Veritabanına Kaydetmek

Ziyaretçi Bilgilerini Veritabanına Kaydetmek

PHP, Yazılım5 Temmuz 20165 Yorum

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();
} ?>

“Ziyaretçi Bilgilerini Veritabanına Kaydetmek” için 5 yanıt

  1. Ali dedi ki:

    Yaıznız için teşekkürler uzun zamandır arıyordum blog sözlükte tesadüfen sizi gördüm bir bloga bakayım derken aradığımı buldum :)

  2. Ahmet Düzen dedi ki:

    bu işe ilk önce html öğrenerek başlamak isityorum sonra css sonra javascript. inşallah bende öğrencem kodlama

  3. Bilgipat dedi ki:

    Aradığım cevabı siz verdiniz, çok sağolun hocam.

  4. Baran dedi ki:

    şu bilgisayar kodlama olayını herkes öğrendi bir ben öğrenemedim

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir