S.P.Q.R
Web Dizayn

IP İle Günlük, Toplam Sayaç ve Anlık Çevrimiçi Ziyaretçi Sayısı

  • S.P.Q.R
  • 2 cevap
  • 242 görüntülenme
S.P.Q.R
Kıdemli üye
  • Katılım20 Şub 2007
  • Mesajlar1.185
  • Tepki puanı0
  • KonumHOLLANDA-AMSTERDAM
#1
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
Aktif üye
  • Katılım28 Nis 2007
  • Mesajlar31
  • Tepki puanı0
  • Konumistanbul
#2
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
Aktif üye
  • Katılım28 Nis 2007
  • Mesajlar31
  • Tepki puanı0
  • Konumistanbul
#3
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:

Benzer konular

Cevap yazabilmek için giriş yapmalı veya kayıt olmalısınız.

Şu an bu konuyu okuyanlar

0

0 üye, 0 ziyaretçi ve 0 arama motoru