Burda sitemize ziyaretçi yollayan sitelerin adreslerini veritabanýna kayýt edeceðiz.Daha sonra veritabanýndan bu kayýtlarý ve hitlerini görmemizi saglayacaðýz.Kollarý sývayýp iþe baþlýyalým;
Alttaki sql sorgusunu phpmyadmin den veritabanýna çekin
`domain` varchar(255) NOT NULL DEFAULT '',
`total` int(255) NOT NULL DEFAULT '1′,
PRIMARY KEY (`domain`)
) TYPE=MyISAM;
Veritabaný baðlantý ayarlarý için ister varolan config.php dosyanýza ekleme yapýn, ister ayrý bir config dosyasý yaratýn yada baðlantýyý kendi config dosyanýza göre ayarlayýn(bu son olaný yaparak kayýtlarý db ye yazacaðýmýz sayfada da deðiþiklik yapmak zorunda kalýcaksýnýz)
mysql_select_db(DB_ADI) or die(mysql_error());
config.php olarak kaydedin.
Alttaki kodla sayfamýza refferer olan domaini veritabanýndaki yukarda oluþturduðumuz tabloya ekliyeceðiz.Eðer domain veritabanýnda varsa gönderilen hit 1 artýrýlacak, yoksa domain kaydý oluþturulacak.
include ("config.php");
$ref = $_SERVER['HTTP_REFERER'];
preg_match("/^(http://)?([^/]+)/i",
"$ref", $matches);
$host = $matches[2];
preg_match("/[^./]+.[^./]+$/", $host, $matches);
$test1 = mysql_query("SELECT * from ref where domain = '$matches[0]'");
$test = mysql_num_rows($test1);
if ($test == 0)
{
$refinsert = mysql_query("INSERT INTO `ref` ( `domain` , `total`)VALUES
('$matches[0]', '1′)");
}
else
{
$update = mysql_query("UPDATE ref set total = total +1 where
domain = '$matches[0]'");
}
?>
Þimdi veritabanýndaki kayýtlarý yani referrer domainleri hitleri ile birlikte çekelim
Bütün hit gönderenler
include ("config.php");
$allref= mysql_query("SELECT * from ref WHERE domain != 'bizimdomainimiz' AND
domain != '' order by total DESC");
while ($ref = mysql_fetch_array($allref))
{
echo ("$ref[domain] – den gelen $ref[total]");
}
?>
Top10 hit gönderen
$gettop = mysql_query("SELECT * from ref WHERE domain != 'bizimdomainimiz' AND
domain != '' order by total DESC LIMIT 10″);
while ($top = mysql_fetch_array($gettop))
{
echo ("
http://$top[domain]" target="_BLANK">$top[domain] den gelen
$top[total]");
}
?>


Yorum Yaz