CurcunaForum.Org

CurcunaForum.Org (https://www.curcunaforum.org/)
-   Web Dizayn (https://www.curcunaforum.org/web-dizayn/)
-   -   IP İle Günlük, Toplam Sayaç ve Anlık Çevrimiçi Ziyaretçi Sayısı (https://www.curcunaforum.org/web-dizayn/15532-ip-ile-gunluk-toplam-sayac-ve-anlik-cevrimici-ziyaretci-sayisi.html)

S.P.Q.R 04-14-2007 13:02

IP İle Günlük, Toplam Sayaç ve Anlık Çevrimiçi Ziyaretçi Sayısı
 
PHP- Kodu:
<?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;
?>

dbbx 04-30-2007 21:21

Hocam bun koda çok ihtiyacım war.Biraz daha açarmısın konuyu.sadece kodu ekliyormuyuz yoxa yapmamız gereken başka bişi warmı?Kurban olim ilgilen bu konuyla ...

dbbx 05-01-2007 13:37

Walla ne yalan sölim hoca..ayrıntılı anlatmışsın ama programlama bilgim yok benim.Biraz uğraştım ama yapamadım.Siteyi yaptık ama gelen - giden warmı bilmiyoz anasını satim (= hadi hayırlısı msn den filan ulaşıcam artık sana bi şekilde çözmem lazım.:mad:


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:38.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.