![]() |
#1 |
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; ?> |
|
![]() |
![]() |
![]() |
#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 ...
|
![]() |
![]() |
![]() |
#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.
![]() |
![]() |
![]() |
![]() |
Etiketler |
anlik, gunluk, ile, sayac, toplam |
|
|