Sitemizde görmüş olduğunuz phpsorunu.com-2011 Wordpress Teması sadece ve sadece 25 TL'dir. Ayrıntılı bilgi için tıklayınız.

İçerik

Buradasınız: Anasayfa » PHP » PHP Sayaç Yapımı – Online – Tekil – Çoğul Ziyaretçi Saydırma

Merhaba arkadaşlar bu yazımda sizlerle gelişmiş veritabanı destekli ziyaretçi sayacı yapımını anlatacağım.
Sayacımızın görüntüsü aşağıdaki gibi olacaktır.

sayac1 PHP Sayaç Yapımı   Online   Tekil   Çoğul Ziyaretçi Saydırma

Ziyaretci Sayacı Görüntüsü

Sayacımı yapmak için öncelikle sayac.php adında bir php dosyası oluşturalım ve kaydedelim.

Örnek Uygulama
1 ) Veritabınımızda sayacımızın değerlerini tutan 3 adet tabloya ihtiyacımız var. Bunları oluşturmakla işe başlayalım.
Deneme adlı bir veri tabanı oluşturdum. İçinde 3 tane tablom olacak. Bunlar;
ip_sayaci tablomuzda gelen kişilerin ip’lerini ve kaç defa sayfayı gezdiklerini öğrenmek ve günlük tekil hit, dünün tekil hiti gibi sayısal verileri de bu tablo üzerinden çekeceğiz.

CREATE TABLE `ip_sayaci` (
  `id` int(11) NOT NULL auto_increment,
  `tarih` date NOT NULL,
  `tiklama` int(11) NOT NULL,
  `ip` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) 

toplam_sayac üzerinde ise sadece toplam tekil hiti ve çoğul hiti tutmak için kullanacağız.

CREATE TABLE `toplam_sayac` (
  `id` int(11) NOT NULL auto_increment,
  `toplam_tekil` int(11) NOT NULL,
  `toplam_cogul` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
)

online_ziyaretci üzerinde ise online ziyaretçileri saydırmak için kullanacağımızı isminden kolayca anladığınız gözlerinizden okunuyor.

CREATE TABLE `online_ziyaretci` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(50) NOT NULL,
  `tarih` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
)

2 ) Kodlarımızı satır satır açıklayarak devam edersek daha anlamlı olacaktır. Ve ilk başlangıcı yapalım. sayac.php‘yi açalım. Ve…

<?php
function sayac() {
@mysql_connect("localhost", "root", "123") or die("Host ile bağlantı kurulamıyor: " . mysql_error());
@mysql_select_db("deneme");

mysql_connect(hostadi,kullaniciadi,sifre) fonksiyonu ile hosta bağlandık.
mysql_select_db(“veritabaniadi”) fonksiyonu ile de veritabanımıza bağlandık.
3 )

$gun=0;

Burada Kaç gün öncesinin kayıtları silinmesi gerektiğini ayarlayıruz. Eğer sıfırdan farklı bir değer girmezseniz hiç bir zaman kayıtları silmeyecektir.
4 )

$ip=$_SERVER['REMOTE_ADDR'];

Siteye ziyaret edenin IP’sini $_SERVER['REMOTE_ADDR'] komutu bize verecektir.
5 )

$zaman=time();

Şu anki zamanı öğrenmemizi sağlar ve saniye cinsindendir.(Online sayaç için)
6 )

$buguntarih = date('Y-m-d');

Bugünün tarihini öğreniyoruz. Çünkü ziyaret edenlerin sitemizi bugün içerisinde kaç kere ziyaret ettiğini öğrenmek için.
7 )

$sure_siniri=$zaman-60*5;

Burada zaman 300 saniye yani 5 dk lik bir limit koyuyoruz ve 5 dk süre ile ziyaretçi sitede herhangi bir işlem yapmadıysa online kısmında düşmek için bunu kullanacağız. Yani Online olayı 5 dk içindeki aktifliğine göre ayarlanıyor.
8 )

$kayit_sorgu = mysql_query("SELECT * FROM ip_sayaci WHERE tarih='$buguntarih' AND ip='$ip'");
$kayit_sayisi=mysql_num_rows($kayit_sorgu);

Bugün siteye gelen ziyaretçi bu IP ile daha önce giriş yapmış mı yoksa yapmamışmı diye kontrol etmek istiyoruz.Burada daha onceden bugun tarihi ile giriş yapımış ise 1 değerini döndürcektir. Biz de bu sayede tekil sayısını saptamada birinci adımı atmış olacağız.
9 )

/*Başlangıç--Bugün bu IP ile ilk giriş yapılınca bu işlemler gerçekleşecektir.*/
if($kayit_sayisi==0){//Sıfır (0) değeri geldi ise bugün daha önceden bu IP ile giriş yapılmamış demektir. Bu yüzden ip_sayaci tablomuza yeni veri girişi yapmamız gerekecektir.
	$ip_kaydet=mysql_query("INSERT INTO ip_sayaci (tarih, tiklama, ip) VALUES ('$buguntarih',1,'$ip')");//Veri girişini yaptık.
	$toplam_kayit_sorgu=mysql_query("SELECT * FROM toplam_sayac");//Burada eğer ki sayaç yeni oluşturuluyorsa tablo'da hiç kayıt yok demektir. Eğer öle ise kayıt var mı yokmu onu öğreneceğiz.
	$toplam_kayit_sayisi=mysql_num_rows($toplam_kayit_sorgu);//Kayır var ise kayıt sayısını getirir. Normalde 1 tane kayıttan sonra başka kayıt girilmez bu tabloya. Yani sayac siteye kurulduktan sonra siteyi ilk ziyaret eden bu tabloya veri girişini yapar. Diğer kullanıcılar ise sürekli güncelleme yaptırır.
	if($toplam_kayit_sayisi==0){//Sıfır(0) yani sayaç ilk kurumda ise Toplam_sayac tablosuna ilk veri girişi burada yapılır.
		$toplam_sayaci_baslat=mysql_query("INSERT INTO toplam_sayac(toplam_tekil,toplam_cogul) VALUES(1,1)");//Veri girişi yapılıyor.
	}
	else{//Eğer tablo_sayac' a veri girişi daha önceden yapıldıysa burada güncelleme yapılır.
		$toplam_sayaci_artir = mysql_query("UPDATE toplam_sayac SET toplam_tekil=toplam_tekil+1, toplam_cogul=toplam_cogul+1 WHERE id=1 LIMIT 1");//Güncelleme yapılıyor.
	}
}
/*Bitiş--Bugün bu IP ile ilk giriş yapılınca bu işlemler gerçekleşecektir.*/

Burada ise siteye gün içinde ilk kez giriş yapan birisinin kontrolü yapılmaktadır.
10 )

/*Başlangıç--Bugün daha önceden bu IP ile giriş yapımıştır*/
else{
$ip_sayaci_arttir = mysql_query("UPDATE ip_sayaci SET tiklama=tiklama+1 WHERE tarih='$buguntarih' and ip='$ip'");//SAdece ip_sayaci tablosundaki bugün tarihli ve IP'ye eşit verinin tıklama sayısını arttır.
$toplam_sayaci_artir1 = mysql_query("UPDATE toplam_sayac SET toplam_cogul=toplam_cogul+1 WHERE id=1 LIMIT 1");//Toplam_sayac tablosunda sadece cogul verisini arttır.
}
/*Bitiş--Bugün daha önceden bu IP ile giriş yapımıştır*/

Burada da bugün içinde daha önceden giriş yaptıysa onun güncellemeleri yapılmaktadır.
11 )

if ($gun > 0){
	$eski_kayit_sil = mysql_query("DELETE FROM ip_sayaci WHERE tarih <= DATE_SUB('$buguntarih', INTERVAL $gun DAY)");
}

Burada ip_sayaci tablomuzdaki silinecek kayıt varmı diye kontrol ediyor ve siliyoruz.
12 )

/*Başlangıç-Online ziyaretçileri saydırmak için yapılan veri giriş, güncelleme ve silme*/
//Süre sınırı ile ilgi sql cümleciği
$sure_miktari= mysql_query("DELETE FROM online_ziyaretci WHERE tarih<'$sure_siniri'");//Burada online olmayanları tablodan siliyor.

$ipsorgu=mysql_query("SELECT * FROM online_ziyaretci WHERE ip='$ip'");
//ip'li kullanıcı daha öncede sitede varmıydı diye sorgu gonderiyoruz.

$ipline	=mysql_num_rows($ipsorgu);//Varsa 1 değeri dönecektir.

if($ipline==0)//Eğer yok ise siteme kayıt ediyoruz.
{
	$gir="INSERT INTO online_ziyaretci VALUES ('','$ip','$zaman')";
	$girsor=mysql_query($gir);
}
else //Sistemde var ise tekrar girmeye gerek yoktur. Sadece zamanı güncellemek yeterlidir.
{
	$guncelle=mysql_query("UPDATE online_ziyaretci SET tarih='$zaman' WHERE ip='$ip'");
}
/*Bitiş-Online ziyaretçileri saydırmak için yapılan veri giriş, güncelleme ve silme*/

Online ziyaretçileri saydırma işlemi için gerekli kodlarımız….
13 )

/*Başlangıç--Sistemdeki Online Ziyaretcilerin Sayısını Öğrenme*/
$kac=mysql_query("SELECT id FROM online_ziyaretci");
//Sorgumuzu yapıyoruz
$online_ziyaretci_sayisi=mysql_num_rows($kac);
//Tabloda kaç satır var ise o kadar online ziyaretçi var demektir. Onu öğrenmiş olduk.
/*Bitiş--Sistemdeki Online Ziyaretcilerin Sayısını Öğrenme*/

Online ziyaretçilerin sayısını öğreniyoruz.
14 )

/*Başlangıç--Sistemdeki Toplam Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
$toplam_tc=mysql_query("SELECT * FROM toplam_sayac WHERE id=1 LIMIT 1");
//Sorgumuzu yapıyoruz. 1. satırdaki bilgiler bizim verilerimizi içerir.
$toplam_tc_cek=mysql_fetch_array($toplam_tc);
//Sorgumuz ile verileri diziye attık.
$toplam_tekil_sayisi=$toplam_tc_cek["toplam_tekil"];
//Tekil sayısı
$toplam_cogul_sayisi=$toplam_tc_cek["toplam_cogul"];
//Çoğul Sayısı
/*Bitiş--Sistemdeki Toplam Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/

Burada da sistemdeki toplam tekil ve çoğul ziyaretçilerin sayısını öğreniyoruz.
15 )

/*Başlangıç--Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
$bugun = mysql_query("SELECT COUNT(ip) AS ttoplam, SUM(tiklama) AS ctoplam FROM ip_sayaci WHERE tarih='$buguntarih'");
//Sorgumuzu yaptık. Bu sorguyu anlamak için biraz MYSQL bilginiz olursa daha rahat edersiniz.
//1. Tekil sayısını bugün kaç tane giriş yapan IP varsa onu saydırarak öğrenebiliriz.
//2. Çoğul sayısını bugün kaç tane tiklama varsa onları toplatırarak öğrenebiliriz.
$bugun_veri = mysql_fetch_object($bugun);
//Burada farklılık olması açısından Class'a attım verilerimizi
$bugun_tekil = $bugun_veri->ttoplam;//Bugün Toplam Tekil Ziyaretci Sayısı
$bugun_cogul = $bugun_veri->ctoplam;//Bugün Toplam Çoğul Ziyaretçi SAyısı
/*Bitiş--Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/

Burada ise sistemdeki bugün için tekil ve çoğul ziyaretçilerin sayısını öğreniyoruz.
16 )

/*Başlangıç--Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
$dun = mysql_query("SELECT COUNT(ip) AS dttoplam, SUM(tiklama) AS dctoplam FROM ip_sayaci WHERE tarih = DATE_SUB('$buguntarih', INTERVAL 1 DAY)");
//Sorgumuzu yaptırıyoruz.SQL cümleciğindeki tek fark gün işlemleri fonksiyonu olan DATE_SUB'u kullandık ve önceki tarihteki değeri öğrendik.
$dun_veri = mysql_fetch_object($dun);//Class'a attık.
$dun_tekil = $dun_veri->dttoplam;//Dün Toplam Tekil Ziyaretci Sayısı
$dun_cogul = $dun_veri->dctoplam;//Dün Toplam Çoğul Ziyaretci Sayısı
/*Bitiş--Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
?>

Burada da dün ki ziyaretçilerin sayısını öğreniyoruz. Siz bunu geçen hafataki veya bu ay gibi şekillerde de çoğaltarak kullanabilirsiniz.
17 )

<table width="240" border="1" cellpadding="0" cellspacing="0" bordercolor="#333333" bgcolor="#99CCCC" align="center">
  <tr>
    <td colspan="3" bgcolor="#99CCCC"><div align="center"><strong><a href="http://www.phpsorunu.com" target="_blank">ZİYARETÇİ SAYACI</a></strong></div></td>
  </tr>
  <tr>
    <td width="108" bgcolor="#99FF99">Online</td>
    <td width="4" bgcolor="#99FF99">:</td>
    <td width="141" bgcolor="#99FF99"><?php echo $online_ziyaretci_sayisi; ?></td>
  </tr>
  <tr>
    <td bgcolor="#99CCCC">Bugün Tekil</td>
    <td bgcolor="#99CCCC">:</td>
    <td bgcolor="#99CCCC"><?php echo $bugun_tekil; ?></td>
  </tr>
  <tr bgcolor="#99FF99">
    <td>Bugün Çoğul</td>
    <td>:</td>
    <td><?php echo $bugun_cogul; ?></td>
  </tr>
  <tr bgcolor="#99CCCC">
    <td>Dün Tekil</td>
    <td>:</td>
    <td><?php echo $dun_tekil; ?></td>
  </tr>
  <tr bgcolor="#99FF99">
    <td>Dün Çoğul</td>
    <td>:</td>
    <td><?php echo $dun_cogul; ?></td>
  </tr>
  <tr bgcolor="#99CCCC">
    <td>Toplam Tekil</td>
    <td>:</td>
    <td><?php echo $toplam_tekil_sayisi; ?></td>
  </tr>
  <tr bgcolor="#99FF99">
    <td>Toplam Çoğul</td>
    <td>:</td>
    <td><?php echo $toplam_cogul_sayisi; ?></td>
  </tr>
  <tr>
    <td bgcolor="#99CCCC">IP</td>
    <td bgcolor="#99CCCC">:</td>
    <td bgcolor="#99CCCC"><?php echo $ip; ?></td>
  </tr>
  <tr>
    <td colspan="3" bgcolor="#99FF99"><div align="right"><a href="http://www.phpsorunu.com">phpsorunu</a> </div></td>
  </tr>
</table>

Burası ise sayacımızın ekrana yazdırılacağı kısımdır. Yani sayacımız resimdeki gibi gözükecek…
18 )

<?php
}
sayac();
//Yazdığımız fonksiyonumuzu çağırdık.
?>

Burada ise yazdığımız fonksiyonu çağırdık ve sayacımızın yapımı da burada sona ermiş oldu.

Örneği indirmek için tıklayınız…
Örneğimizin tamamı…İsterseniz buradan da kopyalayabilirsiniz.

<?php
/*
SQL Kodları Oluşturma

CREATE TABLE `ip_sayaci` (
  `id` int(11) NOT NULL auto_increment,
  `tarih` date NOT NULL,
  `tiklama` int(11) NOT NULL,
  `ip` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) 

CREATE TABLE `toplam_sayac` (
  `id` int(11) NOT NULL auto_increment,
  `toplam_tekil` int(11) NOT NULL,
  `toplam_cogul` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
)

CREATE TABLE `online_ziyaretci` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(50) NOT NULL,
  `tarih` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
)

*/

function sayac() {

@mysql_connect("localhost", "root", "123") or die("Host ile bağlantı kurulamıyor: " . mysql_error());
@mysql_select_db("deneme");

$gun=0;
//Kaç gün öncesinin kayıtları silinsin?Eğer sıfırdan farklı bir değer girmezseniz hiç bir zaman kayıtları silmez

$ip			=$_SERVER['REMOTE_ADDR'];
//Siteye ziyaret edenin IP'sini öğrenelim

$zaman		=time();
//Şu anki zamanı öğrenmemizi sağlar ve saniye cinsindendir.(Online sayac icin)

$buguntarih = date('Y-m-d');
//Bugünün tarihini öğreniyoruz. Çünkü ziyaret edenlerin sitemizi bugün içerisinde kaç kere ziyaret ettiğini öğrenmek için.

$sure_siniri=$zaman-60*5;
//Burada zaman 300 saniye 5 dk lik bir limit koyuyoruz ve 5 dk süre ile sitede herhangi bir işlem yapmadıysa online kısmında düşmek için bunu kullanacağız. Yani Online olayı 5 dk içindeki aktifliğine göre ayarlanıyor.

$kayit_sorgu = mysql_query("SELECT * FROM ip_sayaci WHERE tarih='$buguntarih' AND ip='$ip'");
//Bugün siteye gelen ziyaretçi bu IP ile daha önce giriş yapmış mı yoksa yapmamışmı diye kontrol etmek istiyoruz.

$kayit_sayisi=mysql_num_rows($kayit_sorgu);
//Burada daha onceden bugun tarihi ile giriş yapımış ise 1 değerini döndürcektir. Biz de bu sayede tekil sayısını saptamada birinci adımı atmış olacağız.

/*Başlangıç--Bugün bu IP ile ilk giriş yapılınca bu işlemler gerçekleşecektir.*/
if($kayit_sayisi==0){//Sıfır (0) değeri geldi ise bugün daha önceden bu IP ile giriş yapılmamış demektir. Bu yüzden ip_sayaci tablomuza yeni veri girişi yapmamız gerekecektir.
	$ip_kaydet=mysql_query("INSERT INTO ip_sayaci (tarih, tiklama, ip) VALUES ('$buguntarih',1,'$ip')");//Veri girişini yaptık.
	$toplam_kayit_sorgu=mysql_query("SELECT * FROM toplam_sayac");//Burada eğer ki sayaç yeni oluşturuluyorsa tablo'da hiç kayıt yok demektir. Eğer öle ise kayıt var mı yokmu onu öğreneceğiz.
	$toplam_kayit_sayisi=mysql_num_rows($toplam_kayit_sorgu);//Kayır var ise kayıt sayısını getirir. Normalde 1 tane kayıttan sonra başka kayıt girilmez bu tabloya. Yani sayac siteye kurulduktan sonra siteyi ilk ziyaret eden bu tabloya veri girişini yapar. Diğer kullanıcılar ise sürekli güncelleme yaptırır.
	if($toplam_kayit_sayisi==0){//Sıfır(0) yani sayaç ilk kurumda ise Toplam_sayac tablosuna ilk veri girişi burada yapılır.
		$toplam_sayaci_baslat=mysql_query("INSERT INTO toplam_sayac(toplam_tekil,toplam_cogul) VALUES(1,1)");//Veri girişi yapılıyor.
	}
	else{//Eğer tablo_sayac' a veri girişi daha önceden yapıldıysa burada güncelleme yapılır.
		$toplam_sayaci_artir = mysql_query("UPDATE toplam_sayac SET toplam_tekil=toplam_tekil+1, toplam_cogul=toplam_cogul+1 WHERE id=1 LIMIT 1");//Güncelleme yapılıyor.
	}
}
/*Bitiş--Bugün bu IP ile ilk giriş yapılınca bu işlemler gerçekleşecektir.*/

/*Başlangıç--Bugün daha önceden bu IP ile giriş yapımıştır*/
else{
$ip_sayaci_arttir = mysql_query("UPDATE ip_sayaci SET tiklama=tiklama+1 WHERE tarih='$buguntarih' and ip='$ip'");//SAdece ip_sayaci tablosundaki bugün tarihli ve IP'ye eşit verinin tıklama sayısını arttır.
$toplam_sayaci_artir1 = mysql_query("UPDATE toplam_sayac SET toplam_cogul=toplam_cogul+1 WHERE id=1 LIMIT 1");//Toplam_sayac tablosunda sadece cogul verisini arttır.
}
/*Bitiş--Bugün daha önceden bu IP ile giriş yapımıştır*/

//Eski kayıtları (ip_sayaci) tablosundan siler.
if ($gun > 0){
	$eski_kayit_sil = mysql_query("DELETE FROM ip_sayaci WHERE tarih <= DATE_SUB('$buguntarih', INTERVAL $gun DAY)");
}

/*Başlangıç-Online ziyaretçileri saydırmak için yapılan veri giriş, güncelleme ve silme*/
//Süre sınırı ile ilgi sql cümleciği
$sure_miktari= mysql_query("DELETE FROM online_ziyaretci WHERE tarih<'$sure_siniri'");//Burada online olmayanları tablodan siliyor.

$ipsorgu=mysql_query("SELECT * FROM online_ziyaretci WHERE ip='$ip'");
//ip'li kullanıcı daha öncede sitede varmıydı diye sorgu gonderiyoruz.

$ipline	=mysql_num_rows($ipsorgu);//Varsa 1 değeri dönecektir.

if($ipline==0)//Eğer yok ise siteme kayıt ediyoruz.
{
	$gir="INSERT INTO online_ziyaretci VALUES ('','$ip','$zaman')";
	$girsor=mysql_query($gir);
}
else //Sistemde var ise tekrar girmeye gerek yoktur. Sadece zamanı güncellemek yeterlidir.
{
	$guncelle=mysql_query("UPDATE online_ziyaretci SET tarih='$zaman' WHERE ip='$ip'");
}
/*Bitiş-Online ziyaretçileri saydırmak için yapılan veri giriş, güncelleme ve silme*/

/*Başlangıç--Sistemdeki Online Ziyaretcilerin Sayısını Öğrenme*/
$kac=mysql_query("SELECT id FROM online_ziyaretci");
//Sorgumuzu yapıyoruz
$online_ziyaretci_sayisi=mysql_num_rows($kac);
//Tabloda kaç satır var ise o kadar online ziyaretçi var demektir. Onu öğrenmiş olduk.
/*Bitiş--Sistemdeki Online Ziyaretcilerin Sayısını Öğrenme*/

/*Başlangıç--Sistemdeki Toplam Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
$toplam_tc=mysql_query("SELECT * FROM toplam_sayac WHERE id=1 LIMIT 1");
//Sorgumuzu yapıyoruz. 1. satırdaki bilgiler bizim verilerimizi içerir.
$toplam_tc_cek=mysql_fetch_array($toplam_tc);
//Sorgumuz ile verileri diziye attık.
$toplam_tekil_sayisi=$toplam_tc_cek["toplam_tekil"];
//Tekil sayısı
$toplam_cogul_sayisi=$toplam_tc_cek["toplam_cogul"];
//Çoğul Sayısı
/*Bitiş--Sistemdeki Toplam Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/

/*Başlangıç--Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
$bugun = mysql_query("SELECT COUNT(ip) AS ttoplam, SUM(tiklama) AS ctoplam FROM ip_sayaci WHERE tarih='$buguntarih'");
//Sorgumuzu yaptık. Bu sorguyu anlamak için biraz MYSQL bilginiz olursa daha rahat edersiniz.
//1. Tekil sayısını bugün kaç tane giriş yapan IP varsa onu saydırarak öğrenebiliriz.
//2. Çoğul sayısını bugün kaç tane tiklama varsa onları toplatırarak öğrenebiliriz.
$bugun_veri = mysql_fetch_object($bugun);
//Burada farklılık olması açısından Class'a attım verilerimizi
$bugun_tekil = $bugun_veri->ttoplam;//Bugün Toplam Tekil Ziyaretci Sayısı
$bugun_cogul = $bugun_veri->ctoplam;//Bugün Toplam Çoğul Ziyaretçi SAyısı
/*Bitiş--Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/

/*Başlangıç--Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
$dun = mysql_query("SELECT COUNT(ip) AS dttoplam, SUM(tiklama) AS dctoplam FROM ip_sayaci WHERE tarih = DATE_SUB('$buguntarih', INTERVAL 1 DAY)");
//Sorgumuzu yaptırıyoruz.SQL cümleciğindeki tek fark gün işlemleri fonksiyonu olan DATE_SUB'u kullandık ve önceki tarihteki değeri öğrendik.
$dun_veri = mysql_fetch_object($dun);//Class'a attık.
$dun_tekil = $dun_veri->dttoplam;//Dün Toplam Tekil Ziyaretci Sayısı
$dun_cogul = $dun_veri->dctoplam;//Dün Toplam Çoğul Ziyaretci Sayısı
/*Bitiş--Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/

?>

<table width="240" border="1" cellpadding="0" cellspacing="0" bordercolor="#333333" bgcolor="#99CCCC" align="center">
  <tr>
    <td colspan="3" bgcolor="#99CCCC"><div align="center"><strong><a href="http://www.phpsorunu.com" target="_blank">ZİYARETÇİ SAYACI</a></strong></div></td>
  </tr>
  <tr>
    <td width="108" bgcolor="#99FF99">Online</td>
    <td width="4" bgcolor="#99FF99">:</td>
    <td width="141" bgcolor="#99FF99"><?php echo $online_ziyaretci_sayisi; ?></td>
  </tr>
  <tr>
    <td bgcolor="#99CCCC">Bugün Tekil</td>
    <td bgcolor="#99CCCC">:</td>
    <td bgcolor="#99CCCC"><?php echo $bugun_tekil; ?></td>
  </tr>
  <tr bgcolor="#99FF99">
    <td>Bugün Çoğul</td>
    <td>:</td>
    <td><?php echo $bugun_cogul; ?></td>
  </tr>
  <tr bgcolor="#99CCCC">
    <td>Dün Tekil</td>
    <td>:</td>
    <td><?php echo $dun_tekil; ?></td>
  </tr>
  <tr bgcolor="#99FF99">
    <td>Dün Çoğul</td>
    <td>:</td>
    <td><?php echo $dun_cogul; ?></td>
  </tr>
  <tr bgcolor="#99CCCC">
    <td>Toplam Tekil</td>
    <td>:</td>
    <td><?php echo $toplam_tekil_sayisi; ?></td>
  </tr>
  <tr bgcolor="#99FF99">
    <td>Toplam Çoğul</td>
    <td>:</td>
    <td><?php echo $toplam_cogul_sayisi; ?></td>
  </tr>
  <tr>
    <td bgcolor="#99CCCC">IP</td>
    <td bgcolor="#99CCCC">:</td>
    <td bgcolor="#99CCCC"><?php echo $ip; ?></td>
  </tr>
  <tr>
    <td colspan="3" bgcolor="#99FF99"><div align="right"><a href="http://www.phpsorunu.com">phpsorunu</a> </div></td>
  </tr>
</table>

<?php
}
sayac();
//Yazdığımız fonksiyonumuzu çağırdık.
?>

Örneği indirmek için tıklayınız…
Örnek Uygulama
Herkese başarılar…

Paylaş :

Yazar Hakkında

Hasan Huseyin İŞLER

Lise yıllarında programlama ile tanışan ve Q-Basic, Pascal, C başlangıç seviyesinde öğrenenir. Üniversite de TEF-BSÖ okurken diğer dillerin yanı sıra PHP'de kendini geliştirmeye devam ederek bunların yanında CSS, JS ve Wordpress sistemiyle ilgilenir. www.phpsorunu.com'un da yöneticisi ve yazarlarındandır.

Yapılan Yorumlar

Bu konuya 25 yorum yapılmış.
  1.   Nuh01 Eylül 2010, 7:28  
     

    süper anlatım

     
         
  2.   Nurettin23 Eylül 2010, 16:24  
     

    baya güzel anlamışsınız ellerinize saglık

     
         
  3.   Omer Faruk12 Kasım 2010, 3:25  
     

    Teşekkürler Güzel Paylaşım :)

     
         
  4.   ali baba02 Aralık 2010, 19:18  
     

    cok teşekkür ederim.GErcekten harika. yaptıgım sitelere uyguladım süper .emeginize saglık.

     
         
  5.   Mizanger29 Aralık 2010, 2:55  
     

    Selam hocam ben bunu yönetim paneline koymak istiyorum yani millet görmesin sayacı ama siteyi gezenleri ölçsün onu bir türlü ayarlayamadım sadece sayac.php ye girince artış gösteriyo.böyle anasayfa ekleyeceğimiz bir kod varmı oradan sayac.php ye yazsın ?

     
         
  6.   Hasan Huseyin İŞLE31 Aralık 2010, 17:00  
     

    @Mizanger

    Kodları yerleştirin çıktısını sade admin panelde gösterin istediğiniz olur.

     
         
  7.   Mizanger31 Aralık 2010, 23:24  
     

    tabloya kadar olan php yi ust.php deye include ettim ama beyaz sayfa çıkıyor.acaba neden olur.birde yönetim panelinde yazdırma kodunude ekleyince oradada beyaz sayfa oluyor.bana şunu bi parçalayıp atsana bi türlü yapamadım.Şimdi benim sitede ust.php var o dosya üst kısımı getiyor yani bütün sayfalarda görünüyor.oraya bi kod eklemen lazım bütün sayfalardaki ziyaretçileri veritabanına yazsın.birde /admin/index.php ye bi kod eklemem gerekiyo oradada ziyaretçileri gözetleyeyim.bunu bana ayarlayabilirsimisin ?

     
         
  8.   dasd29 Mart 2011, 15:19  
     

    çok sağolun emeğinize , elinize sağlık Allah razı olsun

     
         
  9.   mehmet yolcu06 Nisan 2011, 23:22  
     

    Merhabalar paylaştığınız scripti Web Siteme entegre ettim, fakat şöyle bir sıkıntım var, aynı ağı kullanan Labaratuarımda ki birbilgisayarın okulun sitesini ziyaret ettiğinde tekil tek artış sağlıyor, diğer bilgisayarların girişi etkilemiyor artışı buna bir çözüm öneriniz var mıdır ?

    teşekkürler.

     
         
  10.   Hasan Huseyin İŞLE07 Nisan 2011, 20:50  
     

    Tekil ziyaretlerde IP önemli olduğu için bu yüzden aynı ağdaki bilgisayarları da tek bir çıkış IP'i olduğu için onlar sadece çoğul sayacı artırıyor. Şu anda ona yapılabilecek hiç bir şey aklıma gelmiyor…

     
         
  11.   ali10 Nisan 2011, 22:58  
     

    çok teşekkürler çok güzel bir anlatım.

    mehmet yolcu aynı ip oldugu için tek kişi görünür.

     
         
  12.   Berk02 Mayıs 2011, 1:47  
     

    peki ben günlük tekil hitin örneğin 70den başlamasını istiyorsam ne yapmalıyım ?

     
         
  13.   Hasan Huseyin İŞLE02 Mayıs 2011, 13:22  
     

    Veritabanındaki değeri default olarak 70 ten baslatırsın veya programdan sayacı 70 e ayarlayıp vt'ye yazdırırsın@Berk

     
         
  14.   günay10 Mayıs 2011, 5:40  
     

    mrb hocam sayacı siteye koyamadım lütfen yardimcı olun sayacı localde çaliştirdim

    siteye nasil koyacam bilmiyorum yardımcı olursanız çok memnun olurum

    yani hangi kodu siteye ekliyecem veya html sini nasil alaçam ?

     
         
  15.   rst09 Haziran 2011, 2:14  
     

    allah razı olsun

     
         
  16.   senol17 Temmuz 2011, 22:28  
     

    Toplam Çoğul ve Toplam Tekil her refresh ettiğimizde sayıyor acaba bunu nasıl engelleriz

     
         
  17.   hsnhsynisler17 Temmuz 2011, 23:03  
     

    Adı üstünde çoğul sayar. Tekillerde artım olmaması lazım.

     
         
  18.   mithat18 Temmuz 2011, 14:31  
     

    İyi günler,

    Kodlarınız mükemmel, yalnız şunu nasıl yapabilirim…
    Sayıları noktalı (mesela 4500'ü 4.500 olarak) nasıl gösterebiliriz.
    Yardımcı olursanız memnun olurum….

     
         
  19.   hsnhsynisler18 Temmuz 2011, 17:31  
     

    Bu dediğiniz olayı para değerlerini yazdırırken kullanıyordum. Sizin içi o kısımı yorum satırı haline getirdim fonksiyonu siteye upload ettim. Burada örneğin adresi var http://www.phpsorunu.com/ornekler/basamakci.php Buradan nasıl çalıştığına bakarsınız. İndirmek için ise şu adresten indirin: http://www.phpsorunu.com/ornekler/basamakci.rar

     
         
  20.   mithat türkay19 Temmuz 2011, 0:11  
     

    İlginize teşekkür ederim hsnhsynisler… Zahmet verdim…

     
         
  21.   senolkatip22 Temmuz 2011, 19:06  
     

    hocam tamam çoğul sayıyorda siteye gelen biri her sayfayı değiştirdiğinde sayıyor acaba bunu en gelemenin bir yolu yokmu

     
         
  22.   seyyidin25 Temmuz 2011, 18:46  
     

    ilginize teşekkür ederim

     
         
  23.   bugra01 Ağustos 2011, 11:45  
     

    veri tabanı örneğini .sql olarak atabilir misiniz? ben orasını anlamadım bi türlü yapamadım . dump etmek istiyorum

     
         
  24.   hsnhsynisler01 Ağustos 2011, 11:56  
     

    Hocam o kadar kolay ki upload etmeye değmez. phpmyadin'e girin orada bir veritabanı oluşturun. Ve oluşturduğunuz veritabanı içerisindeki menülerde SQL diye yazar oraya tıklayın ve create table diye yazan komutlar vara mysql komutları içerikteki onları da komple oraya yapıştırın sorununuz hallolcaktır.

     
         
  25.   kpss23 Eylül 2011, 16:16  
     

    Verdiğiniz bilgiler için çok ama çok teşekkürler… Yazan elleriniz dert görmesin!

     
         

Yorum Gönder

İsim(Gerekli)
E-Posta(Gerekli)
Web Siteniz(Tercihen)

Mesaj Bölümü

Arama Bölümü

PhpSorunu.Com Widget

Yazılardan Haberdar Olun

Kategoriler

Badigardımız

DMCA.com © Tüm Hakları Saklıdır.
Bu websitesi DMCA Protection ile lisanslanmıştır. Yazılar kaynak belirtilmeden kullanılamaz.
yok herhangi bir şey canın sag olsun
67 kişi takipte! Sen de takip et.