IP İle Günlük, Toplam Sayaç ve Anlık Çevrimiçi Ziyaretçi Sayısı
<?php
//Bu Sayaç İçin Kullanılan ayar.php, baglan.php ve sayaç tabloları(ip_sayac_3.sql) dosyalarını ek_dosyalar.zip Klasöründe Bulabilirsiniz
//Oturumu Başlatıyoruz
session_start();
//Veritabanı Bağlantısı
require_once("ayar.php");
require_once("baglan.php");
//----------------------------------------------------------//
// SAYAÇ BAŞLANGICI
//----------------------------------------------------------//
//ZİYARETÇİ IP ADRESİNİ ALIYORUZ
define("UYE_IP", getenv("REMOTE_ADDR"));
$sayac_artirildi = false;
@ $sayac_artirildi = $_SESSION['sayac_artirildi'];
//Eğer Sayaç 1 Kez Artırıldıysa Tekrar Tekrar Sorgulamayı Engelliyoruz
if ($sayac_artirildi < date('Y-m-d'))
{
//Yeni Günde Bugün Tekil Sıfırlanıyor
mysql_query("UPDATE sayac SET buguntekil=0,tarih=CURRENT_DATE() WHERE tarih<CURRENT_DATE() LIMIT 1") or die ("Sayac Hatası -1-");
//Gelen Kişinin IP Adresi Kayıtlı mı Değil mi Kontrol Ediliyor...
$sayac_kayitsorgu = mysql_query("SELECT DATE_FORMAT(tarih,'%Y-%m-%d') AS iptarihi FROM ipkontrol WHERE ip='".UYE_IP."'") or die ("Sayaç Hatası -2-");
if (mysql_num_rows($sayac_kayitsorgu) > 0)
{
//IP Kayıtlı İse Tarihin Bugün Olup Olmadığına Bakılıyor
$ip_tarihi = mysql_fetch_object($sayac_kayitsorgu);
$iptarihi = $ip_tarihi->iptarihi;
if ($iptarihi < date('Y-m-d'))
{
mysql_query("UPDATE sayac SET buguntekil=buguntekil+1,toplamtekil=toplamtekil+1 LIMIT 1") or die ("Sayaç Hatası -3-");
}
mysql_query("UPDATE ipkontrol SET tarih=NOW() WHERE ip='".UYE_IP."'") or die ("Sayaç Hatası -4-");
unset($ip_tarihi,$iptarihi);
} else {
//IP Kayıtlı Değilse Kaydediliyor
mysql_query("INSERT INTO ipkontrol (tarih,ip) VALUES (NOW(),'".UYE_IP."')") or die ("Sayaç Hatası -5-");
//Tekil ve Çoğul Sayaç 1 Artılıyor
mysql_query("UPDATE sayac SET buguntekil=buguntekil+1,toplamtekil=toplamtekil+1 LIMIT 1") or die ("Sayaç Hatası -6-");
}
mysql_free_result($sayac_kayitsorgu);
//Bu Güne Ait Kayıt Yoksa Siliniyor
mysql_query("DELETE FROM ipkontrol WHERE DATE_FORMAT(tarih,'%Y-%m-%d')<CURRENT_DATE()") or die ("Sayaç Hatası -7-");
unset($_SESSION['sayac_artirildi']);
$_SESSION['sayac_artirildi'] = date('Y-m-d');
}
//IP GİRİŞ TARİHLERİ GÜNCELLENİYOR
mysql_query("UPDATE ipkontrol SET tarih=NOW() WHERE ip='".UYE_IP."'") or die ("Sayaç Hatası -8-");
//SAYAÇ VERİLERİ ALINIYOR
//Tekil ve Toplam Ziyaretçi
$sayac_toplam = mysql_query("SELECT buguntekil,toplamtekil FROM sayac WHERE 1") or die ("Sayaç Hatası -9-");
$toplamgelen = mysql_fetch_object($sayac_toplam);
define("TOPLAM_GELEN", $toplamgelen->toplamtekil);
define("BUGUN_GELEN", $toplamgelen->buguntekil);
mysql_free_result($sayac_toplam);
unset($toplamgelen);
//ÇEVRİM İÇİ ZİYARETÇİ SAYISI
define("CEVRIMICI_SURE", 15); //Online Kişileri Gösterme Süresi
$cevrimici_toplam = mysql_query("SELECT COUNT(ip) FROM ipkontrol WHERE tarih>=DATE_SUB(NOW(), INTERVAL ".CEVRIMICI_SURE." MINUTE)") or die ("Sayaç Hatası -10-");
list($toplam_cevrimici) = mysql_fetch_row($cevrimici_toplam);
define("TOPLAM_CEVRIMICI", $toplam_cevrimici);
mysql_free_result($cevrimici_toplam);
unset($toplam_cevrimici,$cevrimici_toplam);
//--------------------------------------------//
// SAYAÇ SONU
//--------------------------------------------//
//Verileri Yazdırıyoruz
echo 'Bugün Tekil : '.BUGUN_GELEN.'<br>';
echo 'Toplam Tekil : '.TOPLAM_GELEN.'<br>';
echo 'Şu An Bağlı : '.TOPLAM_CEVRIMICI;
?>
|