Websayfamýza Referrer Siteleri Kaydetmek ve Görüntülemek

Kategori: PHP ve MYSQL, Webmaster Haberler |
Tarih

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

CREATE TABLE `ref` (
`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)

$conn = mysql_connect("localhost","USERNAME","PASSWORD");
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&#8242;)"
);

}
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] &#8211; 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&#8243;);
while ($top = mysql_fetch_array($gettop))
{
echo ("

http://$top[domain]" target="_BLANK">$top[domain] den gelen
 $top[total]");
}
?>

No tag for this post.

Yorum Yaz

Free Desktop Wallpapers