Опитвам се да направя един брояч на кликове, без препращане, но нещо не ми се получават нещата. Връзката, на която се клика е от типа сайт.ком?siteid=20. Това означава, че сайта, от който идва клика е под номер 20 в моята БД. Този код го поставям в моя сайт.ком. Искам да запиша колко пъти са посетили моят сайт чрез връзката, която съм дал в различни сайтове. Примерно в web-tourist съм сложил такава връзка и WT е с номер 20 в БД-то ми. Също така в БД е записан и адреса на сайта - web-tourist.net. И така...проверявам, дали номера и адреса, от където идва посетителя съвпадат със зъписа в БД, и ако има съвпадение, увеличавам брояча с 1. За да не брои несъществуващи кликове, ако страницата се рефрешне, съм сложил и сесия, но очевидно това не помага, защото пак отчита клик. Дори и да отворя с друг бръузър и да напиша адреса дериктно, при положение, че $referer остава празно, пак ми отчита клик. :shock:
Редакция: Вече всичко е оправено! :wink:
Код:
if(isset($siteId) && $_SESSION['click'] != '1') {
$referer = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
$searchReferer = mysql_query("SELECT `id`, `username` FROM `sites` WHERE `id` = '$siteId' AND `siteurl` LIKE '%$referer%'") or die(mysql_error());
if(mysql_num_rows($searchReferer) != 0) {
$searchReferer = mysql_fetch_assoc($searchReferer);
mysql_query("UPDATE `sites` SET `clicks` = `clicks` + 1 WHERE `id` = '$searchReferer[id]' AND `username` = '$searchReferer[username]' LIMIT 1") or die(mysql_error());
$_SESSION['click'] = '1';
}
}
Редакция: Вече всичко е оправено! :wink: