Создать ответ 
Счётчик переходов
Автор Сообщение
Роман Не на форуме
Младший сержант
*

Сообщений: 26
У нас с: Nov 2012
Сообщение: #1
Счётчик переходов
Всем привет! Может поможете? Нужно сделать счётчик переходов PHP + MySQL (т.е. без использования текстовых файлов (всё должно храниться и выводиться из БД)).
К примеру, есть ссылка и по ней проходят люди и нужно узнать сколько раз по ней прошли.
Заранее благодарю.
04.12.2012 21:02:46
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #2
RE: Счётчик переходов
Ссылка с сайта или на сайт?
Опишите, что Вам надо конкретнее.
04.12.2012 21:40:08
Найти все сообщения Цитировать это сообщение
Роман Не на форуме
Младший сержант
*

Сообщений: 26
У нас с: Nov 2012
Сообщение: #3
RE: Счётчик переходов
Ссылка на сторонний сайт.
04.12.2012 21:51:52
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #4
RE: Счётчик переходов
Все просто.
Ссылку на сторонний сайт (yandex.ru) делаете такого вида Ваш_сайт/go.php?site=yandex.ru

Страничка go.php содержит следующий код:
Код:
<?php
// тут записываете в базу все необходимые Вам параметры

if (isset($_GET[site])) header("Location: http://$_GET[site]");    //редирект на сторонний сайт
?>
04.12.2012 22:18:05
Найти все сообщения Цитировать это сообщение
Роман Не на форуме
Младший сержант
*

Сообщений: 26
У нас с: Nov 2012
Сообщение: #5
RE: Счётчик переходов
А как заносить результат в БД в данном случае? Через insert или update? И ещё как можно сделать тоже самое, но ссылки две на разные сайты, а файл один. Ну т.е. не важно по которой из ссылок человек прошёл, главное в итоге чтоб результат засчитался как один и тот же? Надеюсь, я понятно выразил свою мысль.
05.12.2012 18:51:14
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #6
RE: Счётчик переходов
Я бы сделал через insert, т.к. в дальнейшем сохраненные данные могут пригодиться для анализа переходов.
Для того чтобы результат засчитался как один и тот же, перед записью в базу можно сделать проверку. Например:
if ($_GET[site]=='yandex.ru' or $_GET[site]=='google.ru') $to_base='Поисковик';
else $to_base=$_GET[site];
А в базу пишем переменную $to_base.

Обязательно экранируйте все переменные, которые будете записывать в базу, при помощи mysql_real_escape_string.
Страничку go.php желательно закрыть от индексирования в robots.txt.
05.12.2012 20:50:30
Найти все сообщения Цитировать это сообщение
Роман Не на форуме
Младший сержант
*

Сообщений: 26
У нас с: Nov 2012
Сообщение: #7
RE: Счётчик переходов
Добрый день. Подскажите , пожалуйста, что здесь не так?
<?php
$result = mysql_query ("SELECT redirect FROM audiobooks WHERE id='$cat'", $db);
$result+=1;
$update = mysql_query ("UPDATE audiobooks SET redirect = '$result' WHERE id = '$cat'", $db);

if (isset($_GET[url]))
header("Location: http://$_GET[url]");
?>
12.12.2012 15:56:46
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #8
RE: Счётчик переходов
Можно сделать гораздо проще:

if (isset($_GET[url])) {
$update = mysql_query ("UPDATE audiobooks SET redirect=redirect+1 WHERE id='".$cat."'", $db);
header("Location: http://$_GET[url]");
}

Только остается неясно откуда у Вас берется переменная $cat.
12.12.2012 18:57:01
Найти все сообщения Цитировать это сообщение
Роман Не на форуме
Младший сержант
*

Сообщений: 26
У нас с: Nov 2012
Сообщение: #9
RE: Счётчик переходов
А как должно быть тогда?
12.12.2012 20:11:19
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #10
RE: Счётчик переходов
А я-то откуда знаю, как у Вас должно бытьUnknown
Просто спросил, что у Вас хранится в переменной $cat и откуда берется данное значение.

Просто как я понял, Вы в таблицу audiobooks в строчку redirect пишите количество переходов по всем внешним ссылкам и все.

Я бы немного "допилил" данный код, чтобы считать переходы по различным ссылкам отдельно друг от друга.

if (isset($_GET[url])) {
$url=mysql_real_escape_string($_GET[url]); //фильтруем полученные данные
$update = mysql_query ("UPDATE audiobooks SET redirect=redirect+1 WHERE url='".$url."'", $db);
header("Location: http://$url");
}

P.S. Не обновляйте так часто страничку, а то наш скрипт автобана поместил Ваш IP адрес в наш черный список, пришлось возвращать Ваш IP обратно.
12.12.2012 21:47:07
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru