Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Счетчик нажатий по ссылке 
:(
    Опции темы
Urvin
Дата 25.3.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



Есть задача - считать, сколько раз пользователь перешел по ссылке на сайт партнера.
Разных партнеров может быть несколько.
Дополнительно хотелось бы смотреть статистику этих нажатий по месяцам.

Итого: пишу скрипт partner.php (ниже) и вставляю на страницу вместо прямой ссылки это:
Код
<a href="partner.php?link=http://partner.ru/page.htm">Партнер</a>


Код скрипта:
Код

<?
    // exit if no site described
    if ($link=="") {
        exit();
    }

    // loading settings
    require("init.php");
    setlocale(LC_ALL, 'ru_RU.cp1251');
    
    // getting a whole number of redirects for day
    $ii=0;
    $query = "SELECT cnt_id, cnt_key FROM counter WHERE    DATE_FORMAT(cnt_date,'%j')=DATE_FORMAT(NOW(),'%j') AND YEAR(cnt_date)=YEAR(NOW())  AND cnt_site='$link'";
    $result = mysql_query ($query);
    while ($row = mysql_fetch_array($result)) {
        extract ($row);
        $ii++;
    }
    if ($ii==0) {
        $query="INSERT INTO counter(cnt_site, cnt_date, cnt_key) VALUES ('$link',NOW(),1)";
    } else {
        $query="UPDATE counter SET cnt_key=cnt_key+1 WHERE cnt_id=$cnt_id";    
    }
    $result = mysql_query ($query);
    
    header("Location: $link");
?>


Формат хранения такой:
cnt_id - id дня
cnt_site - url ссылки
cnt_day - текущая дата
cnt_key - количество нажатий за день
Так, одна строка базы - один день кликанья по ссылке
в init.php у меня явки-пароли к базе.


Есть подозрения, что скрипт нагло врет, раз так в шесть. (На сайте партнера поставлен счетчик liveinternet)
Ручная проверка показывает, что программа работает исправно.
Могут ли это быть какие-то поисковые машины и как научить скрипт считать только людей?
PM MAIL   Вверх
enof
Дата 25.3.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(Urvin @  25.3.2009,  18:46 Найти цитируемый пост)
cnt_id - id дня
cnt_site - url ссылки
cnt_day - текущая дата
cnt_key - количество нажатий за день

Не проще использовать что-то типа этого:
Код

id_site | date
 ?
Цитата(Urvin @  25.3.2009,  18:46 Найти цитируемый пост)
Могут ли это быть какие-то поисковые машины и как научить скрипт считать только людей? 

Никак. Как вы определите, человек нажал, или нет? Можно исключить поисковых ботов путем проверки юзер-агента.
Остальную нечисть можно попробовать отсеять всякими-разными извращениями на js, но если кому надо, все равно накрутят.
PM MAIL ICQ Skype   Вверх
realPROme
Дата 25.3.2009, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Urvin, если вопрос практический, лучше пользуйтесь li, все так делают smile
если интересует теоретические стороны - запихните ссылку в javascript
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.