Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Новая версия PowerCounter 4.2.0

Сообщения:  [1-10] 

 
 автор: AndrewGI   (28.08.2011 в 16:10)   письмо автору
 
   для: AndrewGI   (28.08.2011 в 15:41)
 

Всё разобрался. не верная информация в readme параметр $_SERVER['PHP_SELF'] имеется только в одной строке, а в остальных он имеет вид $_SERVER[PHP_SELF] т.е. без кавычек. Вот его то и нужно в count.php заменить во всех строках на $_SERVER[REQUEST_URI] и всё начинает работать...

Разработчиков прошу поправить README

  Ответить  
 
 автор: clubxaliav   (28.08.2011 в 16:09)   письмо автору
 
   для: AndrewGI   (28.08.2011 в 15:41)
 

Так! У тебя не создается новая страница index.php?mod=2 в бд, а создаются только с index.php и постоянно ее обновляет?

  Ответить  
 
 автор: AndrewGI   (28.08.2011 в 15:41)   письмо автору
 
   для: clubxaliav   (28.08.2011 в 15:36)
 

Вывод информации работает правильно, запись в базу адресов страниц не производится. При каждом посещении удаляется единственная строка в powercounter_pages и записывается новая.

Ещё заметил, что каждая новая запись в powercounter_pages имеет имя index.php ( у меня все страницы выводятся через шаблон index.php) имя я не задавал, если я правильно прочел count.php, то запись в базу новой строки производится если нет строк с одинаковым параметром name. Вот и получается что после проверки имени обнаруживается одноимённая строка и заменяется... нужно сделать чтобы проверка шла по параметру title а не name.

  Ответить  
 
 автор: clubxaliav   (28.08.2011 в 15:36)   письмо автору
 
   для: AndrewGI   (28.08.2011 в 15:06)
 

Тебе нужно сгруппировать вывод по названию страницы (объединить одинаковые строки), так же сделать подсчет все одинаковых строк. Получиться:

Страница / кол-во переходов
----------------------------------------------------
Главная страница / 12

  Ответить  
 
 автор: AndrewGI   (28.08.2011 в 15:06)   письмо автору
 
   для: cheops   (13.03.2011 в 13:00)
 

Вопрос, установил я себе PowerCounter 4.2.0, возникла надобность подсчёта посещений каждой сгенерированой страницы вида http://domain/?p=3801 для этого как и написано в readme я заменил $_SERVER['PHP_SELF'] на $_SERVER['REQUEST_URI'] в count.php. Но на странице "Страницы просмотренные с IP адреса" я вижу что я просматривал одну и ту же страницу при этом каждый просмотр выводится отдельной строкой с одинаковым адресом, и что особенно странно, адрес который показывает в строках меняется в зависимости от того где был последний просмотр и даже не обязательно мной, при посещении любой страницы любым пользователем в строках отчёта меняется адрес на адрес последней посещенной страницы для всех защитанных хостов.
У меня есть необходимость считать на какую страницу, какой посетитель заходил, а с таким раскладом ничего не посчитаешь, ведь путь к странице не сохраняется.
Заметил что в базе powercounter_pages сохраняет только одну строку, с адресом последнего просмотра. А в powercounter_ip в столбце id_page везде стоит 1 т.е. тот самый злополучный адрес прописанный в powercounter_pages в единственной и первой строке.
Это баг? Если да, как вылечить?

  Ответить  
 
 автор: cheops   (14.03.2011 в 13:03)   письмо автору
 
   для: clubxaliav   (14.03.2011 в 09:59)
 

Вообще, когда охотитесь на роботов нужно фиксировать все подозрительные USER_AGENT-ы ($_SERVER['USER_AGENT']), иначе легко ошибиться. В текущих версиях PowerCounter они не фиксируются, ибо это строки и занимают много места, что на объемных сайтах недопустимо. Но когда работаете с роботами всегда лучше создавать дополнительную табличку в которую помещать USER_AGENT всех роботов.

[поправлено модератором: новая ветка про таблицу thits выделена в новую тему]

  Ответить  
 
 автор: clubxaliav   (14.03.2011 в 09:59)   письмо автору
82.2 Кб
 
   для: cheops   (13.03.2011 в 22:47)
 

В принципе у меня уже все прописано в бд,... я добавил соответствующие записи и все работает, AOL же заходит.... странно что другие пока не появились за 2 недели из новых добавленных роботов. А строка другие отображает что они есть! То ли, где то, не правильное отображение в названии роботов, то ли еще есть другие!?

Прикрепил рисунок. ( не обращайте внимание на 101% )))) это идет округление )

  Ответить  
 
 автор: cheops   (13.03.2011 в 22:47)   письмо автору
 
   для: clubxaliav   (13.03.2011 в 22:42)
 

Дело в том, что так запросто (просто вводом их в count.php) расширить систему по роботам не получится - они прописаны в базе данных и по каждому из них идет отдельная работа.
Была идея создать Web-интерфейс, позволяющий добавлять новых роботов, но она пока не реализована - систему придется изрядно перекраивать. Нужно подумать, можно ли тут безболезненно ввести её. Может быть это удасться при помощи дополнительной таблицы MySQL.

  Ответить  
 
 автор: clubxaliav   (13.03.2011 в 22:42)   письмо автору
 
   для: cheops   (13.03.2011 в 13:00)
 

Спасибо за информацию, скрипт хороший, ... вот такой вот вопрос к скрипту!

Правильно ли я указал поисковых роботов в файле count.php

  // Выясняем принадлежность к поисковым роботам
  if(strpos($useragent, "StackRambler") !== false) $os = 'robot_rambler';
  if(strpos($useragent, "Googlebot")    !== false) $os = 'robot_google';
  if(strpos($useragent, "Yandex")       !== false) $os = 'robot_yandex';
  if(strpos($useragent, "Aport")        !== false) $os = 'robot_aport';
  if(strpos($useragent, "msnbot")       !== false) $os = 'robot_msnbot';
  if(strpos($useragent, "Yahoo")        !== false) $os = 'robot_yahoo';
  if(strpos($useragent, "ia_archiver")  !== false) $os = 'robot_alexa';
  if(strpos($useragent, "Slurp")        !== false) $os = 'robot_aol';
  if(strpos($useragent, "Teoma")        !== false) $os = 'robot_ask';
  if(strpos($useragent, "Scooter")      !== false) $os = 'robot_altavista';
  if(strpos($useragent, "Lycos")        !== false) $os = 'robot_lycos';
  if(strpos($useragent, "Mail.ru")      !== false) $os = 'robot_mail';
  if(strpos($useragent, "WebAlta")      !== false) $os = 'robot_webalta';



Если есть у кого еще роботы пишите, будет полезно... странно из всего списка заходят только:
- рамблер
- гугле
- яндекс
- аол
- и другие - вот интересно какие еще заходят?

  Ответить  
 
 автор: cheops   (13.03.2011 в 13:00)   письмо автору
 
 

В разделе Downloads появилась новая верися PowerCounter 4.2.0, позволяющая осуществлять сжатие таблиц по cron-заданию.

При штатной работе PowerCounter данные сжимаются в архивные таблицы при первом заходе посетителя после полуночи. Это может быть неудобным из-за длительности данной операции или привязки панели статистики сайта к архивным суточным таблицам. Для того, чтобы процесс архивации протекал автоматически, можно воспользоваться cron – планировщиком задач в UNIX-системах. У разных хост-провайдеров разный порядок постановки cron-заданий, который следует уточнить у службы технической поддержки или в OnLine-документации. В классическом варианте задание сводится к строке вида
0 5 * * * /home/path/to/file/power_counter/cron.php
Где последовательность 0 5 * * * означает что задание будет запускаться каждый день в 0 часов 5 минут. После чего следует путь к скрипту cron.php (иногда его может предварять путь к PHP-интерпретатору, это нужно уточнять на каждом хостинге отдельно). Файл cron.php должен быть помечен как исполняемый (права доступа: rwxr-xr-x или 0755).
Сам файл cron.php также нуждается в настройке. Для этого нужно настроить следующие параметры
<?php
  
...
  
// Абсолютный путь к папке system_powercounter
  
$abspath "/home/.../www/dmn/system_powercounter/";

  
// Адрес сервера
  
$dblocation "localhost";
  
// Имя базы данных, на хостинге или локальной машине
  
$dbname "oop_site";
  
// Имя пользователя базы данных
  
$dbuser "root";
  
// и его пароль
  
$dbpasswd "";
  ...
?>
Последние четыре параметра относятся к базе данных, первый параметр настраивает абсолютный путь к директории с библиотеками, нужными для сжатия базы данных. Так как PHP-интерпретатор в cron-заданиях действует вне среды сервера, скрипт не видит соседние файлы, поэтому путь в $abspath следует указывать абсолютный, от начала диска (посмотреть его можно в отчетах функции phpinfo()).

  Ответить  

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования