PHP+Mysql: брояч за посетена дадена страница

emcuemnecu

Registered
Здравейте. Трябва ми брояч, с който да следя всяка една страница колко пъти е видяна тоест да обясня имам примерно линк към страница
<a href="#">нещо си там</a>
та..когато някой е кликнал на този линк да отброява броя - реални,
не един човек да кликва по 50 пъти и 50 пъти да показва че е отваряна.
Под този линк искам да изписва нещо от типа на "Тази страница бе посетена ?пъти"
 
Логиката ли ти се губи или не можеш да се справис с кода?
Ако е логиката :
Една таблица в която записваш ид,линка към страницата и конверсиите,и друга в която да записваш всеки посетител коя страница е посетил.
И правиш заявка копто да проверява дали посетителя е отварял страницата , ако не е ъпдейтваш с +1 посещенята
 
uphero каза:
Логиката ли ти се губи или не можеш да се справис с кода?
Ако е логиката :
Една таблица в която записваш ид,линка към страницата и конверсиите,и друга в която да записваш всеки посетител коя страница е посетил.
И правиш заявка копто да проверява дали посетителя е отварял страницата , ако не е ъпдейтваш с +1 посещенята
Значи не искам да има никаква регистрация тоест сайта е свободен достъп, дадения запис да се извършва по IP адрес за да е най-сигурен записа.
Кода ми се губи. Лигиката я знам! Кода ми се губи. Намерих код тук, но той е за дадена програма колко пъти е сваляна. Трябва ми нещо подобно.
 
Ето нещо съвсем просто:


<?php

/**


* CREATE TABLE `counter` (`ip` VARCHAR( 255 ) NOT NULL ,
* `date` DATE NOT NULL ,
* `count` MEDIUMINT UNSIGNED NOT NULL DEFAULT '1'
* ) ENGINE = MYISAM ;

*/

//Тук трябва да се конекнеш към БД

$ip = $_SERVER['REMOTE_ADDR'];


//Брои само посетителите

$r = mysql_query("SELECT `count` FROM `counter` WHERE `ip` = '{$ip}' AND `date` = CURDATE() LIMIT 1");

if (!mysql_num_rows($r))
{
$r = mysql_query("INSERT INTO `counter` (`ip`,`date`) VALUES ('{$ip}',CURDATE())");
}



//Брои импресиите. Броя на посетителите за деня може да се изкара с нещо такова: "SELECT COUNT(*) FROM `counter` WHERE `date` = CURDATE() GROUP BY `ip`"

$r = mysql_query("UPDATE `counter` SET `count` = `count` + 1 WHERE `ip` = '{$ip}' AND `date` = CURDATE() LIMIT 1");

if (!mysql_affected_rows($r))
{
$r = mysql_query("INSERT INTO `counter` (`ip`,`date`) VALUES ('{$ip}',CURDATE())");
}

?>
 
Когато е линк може да направиш линк към redirect.php?=neshtosi
вътре в този файл записваш +1 за дадения линк и редиректваш към адреса.
Елементарния вариант е това, друг може примерно с jquery при клик на линка да се праща +1 към полето с прегледи за дадения линк...
 
Тези страници които искаш да следиш за това колко пъти са прегледани какви са?
статични: http://domain.com/page.html http://domain.com/drugpage.html
или
динамични: http://domain.com/page?id=32.html
Ако са от първия тип просто не виждам смисъл да проследяваш каквото и да било към тях, защото това са статични страници и играницата не си струва. Трябва във всяка една страница да пишеш код...
 
baceto90 каза:
Тези страници които искаш да следиш за това колко пъти са прегледани какви са?
статични: http://domain.com/page.html http://domain.com/drugpage.html
или
динамични: http://domain.com/page?id=32.html
Ако са от първия тип просто не виждам смисъл да проследяваш каквото и да било към тях, защото това са статични страници и играницата не си струва. Трябва във всяка една страница да пишеш код...
Като първия вариант са :) То няма да е във всяка страница а в определени страници, за които за мен ще е важно да знам колко пъти са посетени.
Статистики има много за брой посещения, в момента дори, но за дадена страница колко пъти е посетена .. Не знам! :)
 

Back
Горе