PHP'de Referans Yapalım

Bu dersimizde php'de diğer sitelerden gelen kişileri görücez.

Merhaba arkadaşlar mesela bir siteniz var hitinizin en çok nereden geldiğini hangi sayfanıza geldiğini bulmak için bu yöntemi kullanabilirsiniz.
İlk önce rapor adında veritabanımızı ve tablomuzu oluşturuyoruz alanınıda 7 yapıyoruz.
- id
- tarih
- explorer
- referans
- sayfa
- ulke
- ip

index.php Kodlarımızı yazmaya başlayalım.


<?php 

//Veritabanına Bağlanmayı Bilmeyenler İçin ayar.php //içeriğini en son vericem

include("ayar.php");

//Referer Kayıt İşlemi

//Daha önce bu ip kayıt oldumu soruyoruz

$ip $_SERVER['REMOTE_ADDR'];

$ipsorgu mysql_query("SELECT * FROM rapor");

while(
$yaz=mysql_fetch_array($ipsorgu)){

$raporip $yaz['ip'];

}

//Siteye gelen kullanıcının ipsi veritabanındaki ipye

//eşit ise bize echo içindekileri yazıcak

if($ip=="$raporip"){

echo 
"Bu ip daha önceden kayıt edilmiş.";

//else eğer değilse kayıt işlemini gerçekleştiricek

}else{

//Tarih Bilgileri

$tarih=(DATE("d.m.Y"));

//Browser Bilgileri

$explorer=$_SERVER['HTTP_USER_AGENT'];

//Hangi Sayfaa Geldiği

$sayfa=$_SERVER['REQUEST_URI'];

//Ülke Bilgisi

$ulke=$_SERVER['HTTP_ACCEPT_LANGUAGE'];

//Hangi Siteden Geldiği

$referans=$_SERVER['HTTP_REFERER'];

//Ve sql komutu ile kayıt işlemi gerçekleşiyor

$raporekle mysql_query("INSERT INTO rapor (tarih,explorer,sayfa,ulke,referans,ip) values ('$tarih','$explorer','$sayfa','$ulke','$referans','$ip')");

}

?> ?>


Şimdi kayıt işlemimizi tamamladık bu sefer çekme işlemini yapalım

<?php 

include("ayar.php");

echo 
"<table width="1024" border="1">

  <tr>

    <td width="
63"><div align="center"><strong>Tarih</strong></div></td>

    <td width="
213"><div align="center"><strong>Browser Bilgisi </strong></div></td>

    <td width="
257"><div align="center"><strong>Referans Site </strong></div></td>

    <td width="
197"><div align="center"><strong>Sayfa</strong></div></td>

    <td width="
185"><div align="center"><strong>&Uuml;lke - &#304;p </strong></div></td>

  </tr>"
;

//Sql Sorgumuz

$sor mysql_query("SELECT * FROM rapor ORDER BY id DESC");

while(
$yaz=mysql_fetch_array($sor)){

//İp Çekiyoruz

$ip $yaz['ip'];

//Tarihi Çekiyoruz

$tarih  $yaz['tarih'];

//Browser Bilgisini Çekiyoruz

$explorer  $yaz['explorer'];

//Referans Bilgisini Çekiyoruz

$referans  $yaz['referans'];

//Ülke Bilgisini Çekiyoruz

$ulke  $yaz['ulke'];

//Sayfa Bilgisini Çekiyoruz

$sayfa  $yaz['sayfa'];

//Tablo id Çekiyoruz

$id $yaz['id'];

//Ve yazdırmaya başlıyoruz

echo "  <tr>

    <td>
$tarih</td>

    <td>
$explorer</td>

    <td> 
$referans</td>

    <td>
$sayfa</td>

    <td>
$ulke - $ip </td>

  </tr>"
;

}

echo 
"</table>";





?> ?>


ayar.php kodları

<?php  



$database 
"veritabani";

$host "localhost";

$dbuser "kullanici";

$dbpass "sifre";



$baglan = @mysql_connect($host,$dbuser,$dbpass);

if(! 
$baglan) die ("Mysql Baglantisi Yapilamadi");

@
mysql_select_db($database,$baglan) or die ("Veri Tabanina Baglanti Yapilamadi");



?> ?>


Elimden geldiği kadar anlatmaya çalıştım siz kendiniz dahada geliştirebilirsiniz. Yapamayan veya herhangi bir yerde takılan forum'a yada bu makale altında sorularını sorabilir.İyi Çalışmalar...
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

bu makalede kullanmış olduğunuz HTTP_REFERER, HTTP_USER_AGENT gibi sunucu değişkenlerine güvenmek pek de sağlıklı değil zira 5 satır curl kodu ile darma dağan edilebilirler.

Yukarı Git