MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Makaleleri:


Bu Kategorinin En Çok Okunan Makaleleri:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Üye Ol



Anasayfa > Php > Makaleler

Ziyaretçi sayacı

Php ile hazırlanmış mysql kullanan ve ziyaretçilerimizi haricen listeleyebildiğimiz ve nereden giriş yaptıklarını görebildiğimiz güzel bir uygulama

sayaç  php sayaç 

Kategori: Php
Gönderen: ksabitk
Tarih: 20 Mayıs 2009
Okunma Sayısı: 28077
Puan: 9,1 / 16 Oy
Puan Ver:
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl

•Php ile hazırlanmış web sitenizde kullanabileceğiniz bir sayaç uygulamasıdır.
•Veri tabanı olarak mysql kullanılmaktadır.
•Aynı anda online kullanıcı sayısı, toplam kullanıcı sayısı, ziyaretçi ip, dün ve bugüne ait toplam tekil ziyaretçi sayısını gösterir.
•Ayrıca veri tabanına yapılan ziyaretçi kayıtlarını phpmyadmin'e girmeden görmenize olanak tanır.
•Listelediğimiz kayıtların konumunu sorgular.

#-----------------------------------------------------------------------#
#Aşağıdaki kodları sayac.php olarak kaydedin                         #
#-----------------------------------------------------------------------#

 

<?php 
include "db_baglan.php"
echo 
"<div align='center'> 
<table border='1' bordercolor='#f39929' id='table1' cellspacing='1' width='240'> 
<tr> 
<td width='60' align='center'><font face='Verdana'><span style='font-size: 7pt'>Online</span></font></td> 
<td width='60' align='center'><font face='Verdana'><span style='font-size: 7pt'>Dün</span></font></td> 
<td width='60' align='center'><font face='Verdana'><span style='font-size: 7pt'>Bugün</span></font></td> 
<td width='60' align='center'><font face='Verdana'><span style='font-size: 7pt'>Toplam</span></font></td> 

</tr> 
<tr> 
<td width='60' align='center'> 
<font face='Verdana' style='font-size: 7pt'>"
;  
#---Online Ziyaretçi Sayısı-------------------------------------------------------------------- 
$ip $_SERVER['REMOTE_ADDR'];  
$past time()-150;  
mysql_query("DELETE FROM online WHERE time < $past");  
$result mysql_query("SELECT time FROM online WHERE ip='$ip'");  
$time time();  
if(
$row mysql_fetch_array($result)){  
mysql_query("UPDATE online SET time='$time',ip='$ip' WHERE ip='$ip'"); 
}else{  
mysql_query("INSERT INTO online (ip,time) VALUES ('$ip','$time')") or die(mysql_error());  
}  
$result mysql_query("SELECT ip FROM online");  
$aktifkac mysql_num_rows($result); 
echo 
$aktifkac;  
#---Online Ziyaretçi Sayısı--------------------------------------------------------------------  
echo "</font> 
</td> 
<td width='60' align='center'> 
<font face='Verdana' style='font-size: 7pt'>"
;  
#---Dün Tekil Toplam Kaç Kişi Girmiş---------------------------------------------------------- 
$baslat =date(Y."-".m."-".d); 
$year =substr($baslat0,4); 
$month =substr($baslat52); 
$day =substr($baslat82); 
$bitis =date("Y-m-d"mktime(000$month$day-1$year)); 
$sorgula mysql_query("select tarih from ziyaret where tarih='$bitis'");  
$dunku mysql_num_rows($sorgula); 
echo 
$dunku
#---Dün Tekil Toplam Kaç Kişi Girmiş----------------------------------------------------------  
echo "</font></td> 
<td width='60' align='center'> 
<font face='Verdana' style='font-size: 7pt'>"
;  
#---Bugün Tekil Toplam Kaç Kişi Girmiş--------------------------------------------------------  
$bugun date("Y-m-d"); 
$sorgu mysql_query("select tarih from ziyaret where tarih='$bugun'"); 
$bugunku mysql_num_rows($sorgu); 
echo 
$bugunku;  
#---Bugün Tekil Toplam Kaç Kişi Girmiş--------------------------------------------------------  
echo "</font> 
</td> 
<td width='60' align='center'> 
<font face='Verdana' style='font-size: 7pt'>"
;  
#---Toplam Tekil Kaç Kişi Girmiş--------------------------------------------------------------  

$ipsi $_SERVER['REMOTE_ADDR']; 
$tarih date("Y-m-d"); 

$ipkontrol mysql_query("select * from ziyaret where ip='$ipsi' order by id desc"); 
$yaz mysql_fetch_assoc($ipkontrol); 
$vip $yaz['ip']; 
$vtarih$yaz['tarih']; 
$bak mysql_num_rows($ipkontrol); 
if(
$bak>0){ //if- 
if($vtarih<$tarih){ 
$kayit_1 mysql_query("insert into ziyaret (ip,tarih) values ('$ipsi','$tarih')"); 
}  
}
//if- 
else{ 
$kayit_2 mysql_query("insert into ziyaret (ip,tarih) values ('$ipsi','$tarih')"); 

$toplamne mysql_query("select * from ziyaret"); 
$toplamziyaret mysql_num_rows($toplamne); 
echo 
$toplamziyaret;  
#---Toplam Tekil Kaç Kişi Girmiş--------------------------------------------------------------  
echo "</font> 
</td> 
</tr> 
<tr> 
<td align='center' width='240' colspan='4'><font face='Verdana' style='font-size: 7pt'>IP $ipsi</font></td> 
</tr> 
<tr> 
<td align='center' width='240' colspan='4'><font face='Verdana' style='font-size: 7pt'>Design by <a href='mailto:ksabitk@hotmail.com' style='color:#FFFFFF;'>ksabitk</a></font></td> 
</tr> 
</table> 

</div>"


?> 




#--------------------------------------------------------------------------------#
#Aşağıdaki kodları db_baglan.php olarak kaydedin                               #  
#--------------------------------------------------------------------------------#

 

<?php 
#--Veritabanına Bağlantı Ayarları----------------------------------------------------------------------------------------------------- 
//Buraya Kendi MYSQL Bilgilerinizi Yazacaksınız 

@$db_name "veritabanı adı"#db adı 
@$db_user "kullanıcı adı"#db kullanıcı adı 
@$db_pass "şifre"#db kullanıcı şifresi 
@$db_host "localhost"#db server/sunucu/host adı 

@$eror1 "<center><font face='Verdana' size='2' color='#333333'>...<u>MySQL</u> Bağlantısı Gerçekleştirilemedi...</font></center>"
@
$eror2 "<center><font face='Verdana' size='2' color='#333333'>...<u>Veritabanı</u> Seçimi Gerçekleştirilemedi...</font></center>"
@
$baglanmysql_connect($db_host,$db_user,$db_pass) or die ($eror1); 
@
mysql_select_db($db_name,$baglan) or die ($eror2); 
#--Veritabanına Bağlantı Ayarları----------------------------------------------------------------------------------------------------- 
?>  




#--------------------------------------------------------------------------------#
#Aşağıdaki kodları sayac.sql olarak kaydedin                                     #  
#--------------------------------------------------------------------------------#

 

# phpMyAdmin SQL Dump 
# version 2.5.7-pl1 
# http://www.phpmyadmin.net 

# Sunucu: localhost 
# Çıktı Tarihi: Nisan 29, 2008 at 09:46 AM 
# Server sürümü: 5.0.16 
# PHP Sürümü: 4.4.1 
#  
# Veritabanı : `sayac` 
#  

# -------------------------------------------------------- 


# Tablo yapısı : `online` 

# Oluşturulma: Nisan 29, 2008 at 09:12 AM 
# Son güncellenme: Nisan 29, 2008 at 09:40 AM 


DROP TABLE IF EXISTS `online`; 
CREATE TABLE `online` ( 
`
ipvarchar(50NOT NULL
`
timevarchar(50NOT NULL 
ENGINE=MyISAM DEFAULT CHARSET=latin1


# Tablo döküm verisi `online` 


INSERT DELAYED INTO `online` (`ip`, `time`) VALUES ('127.0.0.1''1209451553'); 

# -------------------------------------------------------- 


# Tablo yapısı : `ziyaret` 

# Oluşturulma: Nisan 29, 2008 at 09:12 AM 
# Son güncellenme: Nisan 29, 2008 at 09:16 AM 


DROP TABLE IF EXISTS `ziyaret`; 
CREATE TABLE `ziyaret` ( 
`
idint(50NOT NULL auto_increment
`
ipvarchar(75NOT NULL
`
tarihvarchar(12NOT NULL
PRIMARY KEY (`id`) 
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 


# Tablo döküm verisi `ziyaret` 


INSERT DELAYED INTO `ziyaret` (`id`, `ip`, `tarih`) VALUES (1'127.0.0.1''2008-04-29'); 




#--------------------------------------------------------------------------------#
#Aşağıdaki kodları guvenlik.php olarak kaydedin                                 #  
#--------------------------------------------------------------------------------#

 

<?php 

/* Config Section */ 

$pass 'demo'// Sifreyi buraya giriniz... 
$cookiename 'sascookie'// Optional change: Cookie'ye isim veriniz.Basta geçerli olan sascookie dir. 
$expirytime time()+3600// Optional change: Sifrenin geçerli oldugu süre "saniye olarak". Basta geçerli olan 1 saatdir. 
$msg 'Sifre Yanlis.'// Optional change: parola yanlis mesajidir.basta geçerli olan "Sifre Yanlis"dir. 

/* End Config */ 

/* Logout Stuff - Sept 5, 2005 */ 

if (isset($_REQUEST['logout'])) { 
setcookie($cookiename,'',time() - 3600); // remove cookie/password 
if (substr($_SERVER['REQUEST_URI'],-12)=='?logout=true') { // if there is '?logout=true' in the URL 
$url=str_replace('?logout=true','',$_SERVER['REQUEST_URI']); // remove the string '?logout=true' from the URL 
header('Location: '.$url); // redirect the browser to original URL 

show_login_page(''); 
exit(); 


$logout_button='<form action="'.$_SERVER['REQUEST_URI'].'" method="post"><input type="submit" name="logout" value="Logout" /></form>'
$logout_text='<a href="'.$_SERVER['REQUEST_URI'].'?logout=true">Logout</a>'

/* End Logout Stuff */ 

/* FUNCTIONS */ 
$encrypt_pass=md5($pass); // encrypt password 

function setmycookie() { 
global 
$cookiename,$encrypt_pass,$expirytime
setcookie($cookiename,$encrypt_pass,$expirytime); 
}  

function 
show_login_page($msg) { 

?> 

<form action="" method="POST"> 
Şifre:&nbsp; 
<input type="password" name="password" size="20">&nbsp; 
<input type="submit" value="Giriş"> 
<input type="hidden" name="sub" value="sub"> 
</form> 
<?=$msg?> 

<?php 

/* END FUNCTIONS */ 

$errormsg=''
if (
substr($_SERVER['REQUEST_URI'],-7)!='sas.php') {// if someone tries to request sas.php 
if (isset($_POST['sub'])) { // if form has been submitted 
$submitted_pass=md5($_POST['password']); // encrypt submitted password 
if ($submitted_pass<>$encrypt_pass) { // if password is incorrect 
$errormsg=$msg
show_login_page($errormsg); 
exit(); 
} else { 
// if password is correct 
setmycookie(); 

} else { 
if (isset(
$_COOKIE[$cookiename])) { // if cookie isset 
if ($_COOKIE[$cookiename]==$encrypt_pass) { // if cookie is correct 
// do nothing 
} else { // if cookie is incorrect 
show_login_page($errormsg); 
exit(); 

} else { 
// if cookie is not set 
show_login_page($errormsg); 
exit(); 


} else { 
echo 
''

?>  




#--------------------------------------------------------------------------------#
#Aşağıdaki kodları ust.php olarak kaydedin                                       #  
#--------------------------------------------------------------------------------#

 


<style
h2
color:#000069; 

hr
color:#000069; 

</
style
<
div align="center"

<
table border="0" cellpadding="0" cellspacing="0" width="100%"
<
tr
<
td align="center"><h2>Ziyaretçi Kayıtları</h2></td
</
tr
<
tr
<
td
<
hr
</
td
</
tr
</
table
<
table border="0" cellpadding="0" cellspacing="0" width="600"
<
tr
<
td align="center"




#--------------------------------------------------------------------------------#
#Aşağıdaki kodları alt.php olarak kaydedin                                       #  
#--------------------------------------------------------------------------------#

 

</td
</
tr></table
<
table border="0" cellpadding="0" cellspacing="0" width="100%">  
<
tr><td height="5"
<
hr
</
td></tr><tr><td align="center" height="10"


<
font style="font-size:7pt;font-family:;Comic Sans MS;">Design by <a style="font-size:7pt;font-family:;Comic Sans MS;" href="mailto:ksabitk@hotmail.com">ksabitk</a></font
</
font

</
td></tr

</
table></div




#--------------------------------------------------------------------------------#
#Aşağıdaki kodları kayit.php olarak kaydedin                                     #
#--------------------------------------------------------------------------------#

 

<? require('guvenlik.php');  
   include(
'ust.php');?> 
<html>  
<head>  
<title>Kayıtlar</title>  
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">  
<style> 
a{ 
text-decoration:none; 
font-family:verdana; 
font-size:10pt; 

.tablo1{ 
font-family:verdana; 
font-size:11pt; 
color:#000000; 
background-color:#FBCF37; 

.tablo2{ 
font-family:arial; 
font-size:10pt; 
color:#000000; 
font-weight:bold; 
background-color:#BAFEFB; 

</style> 
</head>  

<body>  

<?  
$say
=0;  
$dbhost "localhost";  
$dbuname "kullanıcı adı";  
$dbpass "şifre";  
$dbname "veritabanı adı";  

//bağlan 
mysql_connect("$dbhost""$dbuname""$dbpass") || die ("mysql hatasi");  
mysql_select_db("$dbname") || die ("mysql bağlantısı başarısız");  

// Degiskenleri tanimlayalim  
$page $_SERVER['PHP_SELF'];  
$limit "250"// Kaç kayitta bir sayfalama yapilacak ?  

/* URL üzerinden gelen $_GET[] dizisi içinde degisken olup olmadigina bak eger yoksa 1'e esitle */  
if(empty($_GET['paged'])) { $paged ="1"; }  
else{ 
$paged=$_GET['paged'];}  

/* Degiskenin numerik(rakamsal) bir deger olup olmadigina bak degilse düzeltip sayfaya bir daha yolla */  
//if(!is_numeric($_GET['paged'])) { header("location:$page?paged=1"); }  


//veriyi çek 
$query = ("select * from ziyaret order by id"); 

$id $listele['id']; 
$kullaniciadi $listele['tarih']; 
$cinsiyet $listele['ip']; 


$girdi =mysql_query($query);  
$sayi =mysql_num_rows($girdi); // toplam mySQL kayit sayisi  
$kac_tane $sayi $limit// Kaç sayfa olacak  

/* burasi önemli , sayfalama linklerini basarken toplam kayiti $limti degiskeninin içerigine bölüyoruz eger tam bölünmüyorsa sayfa sayisini bir arttiriyoruz.Böylece her kayit listeleniyor.*/  
$kac_tane=ceil($kac_tane);//bir yukarıya yuvarladık  


// Kayitlari yazdiralim ( son kayittan itibaren )  
$son = ($paged-1)*$limit//burası çok güzel  
$query "select * from ziyaret order by id limit $son,$limit";  
$veri mysql_query ($query);  
while(
$cikart mysql_fetch_array($veri)) {  


$id $cikart['id'];  
$tarih $cikart['tarih'];  
$ip $cikart['ip'];  


if (
$say%2)  
$renk='#BAFEFB';  
else  
$renk='#FBCF37';  
?>  
<div align="center"> 
<table border="0" cellpadding="0" cellspacing="0" width="350"> 
<tr class="tablo1"> 
<td width="80" align="center">Sayı</td> 
<td width="120" align="center">Tarih</td> 
<td width="150" align="left">İp</td> 
</tr>  
<tr class="tablo2"> 
<td width="80" align="center"><? echo $id?></td> 
<td width="120" align="center"><? echo $tarih?></td> 
<td width="150" align="left"><a target="_blank" href="http://ipnerde.sifavi.com/index.php?IP=<? echo $ip?>"><? echo $ip?></a></td> 
</tr> 
</table> 


<?  
$say
++;  
}  
// Sayfalama linklerini ekrana yazdiralim  
for($i=1$i <=$kac_tane$i++) {  
if( 
$i==$paged)  

{echo 
" $i " ;}  
else {  
echo(
"<a href=$page?paged=$i>[$i]</a> - "); }  

}  

ob_end_flush(); //  
?>  
</div>  
</body>  
</html> 
<? include('alt.php');?> 




Nasıl kullanılır ?  
Sayaçımızın çalışması için
sayac.php ve db_baglan.php'yi ana dizinimize atmalı ve ziyaretçilerinizin sayılmasını istediğiniz sayfalara
<? include('sayac.php');?>  
betiğini yazarak çekmelisiniz, şayet alt dizinlerde kullanılacaksa   include('./sayac.php'); normal klasör adlarını vererek ana dizinden çekebilirsiniz.

Mysql
db_baglan.php ve kayit.php deki veri tabanı ayarlarını yapmalı
sayac.sql yi veritabanına yüklemelisiniz

Güvenlik
Ziyaretçi kayıtlarını listelerken herkesin görememesi için guvenlik.php ile şifrelenmiştir.
Yani bu sayfadaki şifreyi kendinize göre uyarlamalısınız.

Kayıtlar
guvenlik.php de belirlediğiniz şifre ile kayit.php ye girerek ziyaretçilerinizi giriş tarihine göre ip numaralarıyla görebiliriz.
Listelenen ip numaralarının üzerine tıklayarak konumunu görebilirsiniz.

Dikkat!
substr fonksiyonunu kullandığınız farklı bir kod parçası varsa sorun çıkaracaktır.

Ziyaretçi sayacı için yazılan yorumlar

Zeki SÜKÜT  { 31 Ocak 2015 }
üstad ellerine sağlık direk çalıştı çok başarılı olmuş :)

yigit kılıçaslan  { 21 Nisan 2014 }
Ben bu dusundum ip yi sadece vert tabanina cekecz gerisi tırıvı diye dûsünmüstüm ama deyilmis

Mehmet gunes  { 31 Mayıs 2012 }
Güvenlik.php 'ye parolayı yanlış girdigimizde herhangi bir uayarı vermiyor..ve ziyaretci katıtlarını listelemiyor LÜTFEN YARDIMCI OLURMUSUNUZ..

bz42  { 04 Nisan 2012 }
Güzel bir çalışma olmuş. Dil kodlaması UTF-8 olunca Cannot modify header information - headers already sent by (output started at W:\var\www\kayit.php:1) in W:\var\www\guvenlik.php on line 34 hatası olşuyor ANSI ya çevrilince oluşmuyor anlamadım.

Hafsel  { 14 Ocak 2012 }
Güzel paylaşım teşekkürler... Yanlız sayaçta botlarıda sayıyıor heralde onun bi çaresi yokmu?

Hüseyin  { 16 Temmuz 2011 }
Sayanın guvenlik.php bölümünde şifreyi girip , submit'e bastığımda Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\xxx\guvenlik.php:10) in C:\xampp\htdocs\xxx\guvenlik.php on line 43 diye bir hata veriyor. Sebebi hakkında yardım edebilir misiniz?

bestami  { 10 Kasım 2010 }
mrb ben bu kodları wordpress te kullanmaya çalıştım fakat olmadı.include edince gormüyor.Direk dosya adresini yazınca çalışıyor.yardımcı olabilir misiniz.saygılarımla

SEMAT memat   { 07 Şubat 2010 }
<!---http://www.facebook.com/GrupSogukCaYiceNLer---> <a target="_blank" href="SAYFANIZIN LİNKİ"><IMG src="http://img451.imageshack.us/img451/5681/17sw.gif" border="0" widş="51" height="70"><IMG src="http://img451.imageshack.us/img451/2654/26mf.gif" border="0" widş="23" height="70"><IMG src="http://img451.imageshack.us/img451/7677/38qp.gif" border="0" widş="31" height="70"><IMG src="http://img451.imageshack.us/img451/4378/42zs.gif" border="0" widş="79" height="70"></a> <!---http://www.facebook.com/GrupSogukCaYiceNLer--->

Taner Seçgün  { 09 Aralık 2009 }
Teşekkürler. Emeğine Sağlık

Hüseyin   { 04 Temmuz 2009 }
üstad ilk defa bi kerede ve sorunsuz çalışan kodlar. Çok sağol.

armoking   { 29 Mayıs 2009 }
üstad http://www.ciceksiteleri.com/bedava_ziyaretci_sayaci.html bu adresteki gibi kullanıcılara sayaç hizmeti aynısından nasıl veririr acaba Mail olarak bilgilendirirsen çok sevinirim.

barış   { 29 Mayıs 2009 }
çok teşekkürler, siteme kodları optimize ettim sorunsuz çalışıyor. çalışmalarınızda başarılar

Yorum ekleyin

Bu sayfaya link verin:
Anasayfa > Php > Makaleler > Ziyaretçi sayacı
Kategoriler:


Forum:



Bağlantılar:


Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.166.232.243 | 0,11 Saniye
© Copyright 2004-2017 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.