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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: PowerCounter 2.1.2
 
 автор: DEMON   (25.11.2004 в 16:22)   письмо автору
 
 

Статистика считается только для ареса 192.168.5.8 (локальный сервер), причем неважно на какую страницу переходит пользователь, т.е. посчитывает общее количество переходов по сайту, не определяет ни ОС, ни IP, ни броузер.
Установлен Apache 2.0.52, PHP 5.0.2, MySQL 5.0.0a
Если включаю register_globals = On то статистика считается для count.php
variables_order = "EGPCS"
Подскажите что может еще настроить или другой счетчик установить (желательно с такой же подробной статистикой)

   
 
 автор: cheops   (25.11.2004 в 18:41)   письмо автору
 
   для: DEMON   (25.11.2004 в 16:22)
 

Хм... попробуйте для начала присвоить переменной $obtip в конфигурационном файле conf.php значение 1. Проблема может быть связана с определением IP-адреса посетителя она может отличаться на разных серверах.

Если вам не сложно создайте страницу c вызовом функции phpinfo() и вызовите страницу с машины, обладающей другим IP-адерсом. Совпадает ли значение для переменных $_SERVER["SERVER_ADDR"] и $_ENV["REMOTE_ADDR"] с этим адресом?

   
 
 автор: DEMON   (26.11.2004 в 14:04)   письмо автору
 
   для: cheops   (25.11.2004 в 18:41)
 

Пробовал и с $obtip.
$_SERVER["SERVER_ADDR"] и $_ENV["REMOTE_ADDR"] с разными адресами
Может проблема что это все стоит на Windows. Потому что $PHP_SELF не возвращает имени файла, а $_SERVER['PHP_SELF'] работает корректно, но и браузер и все остальное тоже не определяется.
Поэтому к сожалению вопрос остается в силе. Спасибо за консультацию.

   
 
 автор: cheops   (26.11.2004 в 14:27)   письмо автору
 
   для: DEMON   (26.11.2004 в 14:04)
 

>$_SERVER["SERVER_ADDR"] и $_ENV["REMOTE_ADDR"] с разными адресами
А где стоит правильный (именно удалённой машины)?

   
 
 автор: DEMON   (26.11.2004 в 16:19)   письмо автору
 
   для: cheops   (26.11.2004 в 14:27)
 

в _SERVER["SERVER_ADDR"] стоит правильный адрес удаленной машины, а в _ENV["REMOTE_ADDR"] адрес машины на которой смотрю

   
 
 автор: cheops   (26.11.2004 в 16:39)   письмо автору
 
   для: DEMON   (26.11.2004 в 16:19)
 

Ага, тогда строку 11 и 12 файла count.php попробуйте заменить на
<?php
  $ip 
$_ENV["REMOTE_ADDR"];
?>

   
 
 автор: DEMON   (26.11.2004 в 17:31)   письмо автору
 
   для: cheops   (26.11.2004 в 16:39)
 

почему-то когда делаю вывод echo $_ENV["REMOTE_ADDR"]; возвращается адрес машины на которой установлен сервер, а при echo $_SERVER["PHP_SELF"]; - \counter\count.php
Страницы имеют расширени htm но в apache прописал выполнять их как php скрипты, даже пробовал у файлов менять расширение все равно не работает
Уж очень возможности у счетчика хорошие, а жаль что неработает, просто очень не хотелось свой разрабатывать, т.к. времени пока не хватает, да и изучать начал недавно.
Может быть еще что нибудь посоветуете. Пожайлуста.

   
 
 автор: cheops   (26.11.2004 в 17:56)   письмо автору
 
   для: DEMON   (26.11.2004 в 17:31)
 

>почему-то когда делаю вывод echo $_ENV["REMOTE_ADDR"];
>возвращается адрес машины на которой установлен сервер, а
Когда у нас была схожая ситуация, мы обратились к админам хостинга, так как им виднее как определять IP-адрес удалённого посетителя. Нужно из них вытрясти эту информацию, так как способ определения IP-адреса удалённого посетитля разница от сервера к серверу. Следует внимательно просмотреть отчёт phpinfo() - куда адрес посетителя сбрасывается?
>при echo $_SERVER["PHP_SELF"]; - counter/count.php
Можно вот как поступить, счётчик подключать следующим образом:
<?php
  $selfpage 
$_SERVER['PHP_SELF'];
  include 
"count.php";
?>

а в начало count.php поместить следующую строку
<?php
  $_SERVER
['PHP_SELF'] = $selfpage;
?>

   
 
 автор: DEMON   (26.11.2004 в 18:52)   письмо автору
 
   для: cheops   (26.11.2004 в 17:56)
 

К сожелению все работает так же без изменений

   
 
 автор: cheops   (26.11.2004 в 18:58)   письмо автору
 
   для: DEMON   (26.11.2004 в 18:52)
 

Правильно ли я понял. Есть скирпт index.php, в нём код
<?php 
  $selfpage 
$_SERVER['PHP_SELF']; 
  include 
"count.php"
?>

И переменная $selfpage вместо того что принять значение "index.php" принимает значение "count.php"?

   
 
 автор: DEMON   (29.11.2004 в 10:29)   письмо автору
 
   для: cheops   (26.11.2004 в 18:58)
 

Да.
Но я понял по чему, я указывал полный путь к файлу счетчика с HTTP://, просто сайт содержит много вложенных папок и я думал он будет так работать.
И к сожелению он работает только при register_globals = On, что само по себе как написано в книгах является дырой.

   
 
 автор: cheops   (29.11.2004 в 10:41)   письмо автору
 
   для: DEMON   (29.11.2004 в 10:29)
 

>И к сожелению он работает только при register_globals = On,
>что само по себе как написано в книгах является дырой.
Если вам не сложно, загрузите счётчик по-новой, это было исправлено 26.11.04.

PS Поменялся только count.php.

http://www.softtime.ru/info/powercounter20.php

   
 
 автор: DEMON   (29.11.2004 в 12:03)   письмо автору
 
   для: cheops   (29.11.2004 в 10:41)
 

Большое Вам спасибо за информацию, скачал новую версию поставил register_globals = Off все работает отлично.

   
 
 автор: DEMON   (29.11.2004 в 15:42)   письмо автору
 
   для: DEMON   (29.11.2004 в 12:03)
 

У меня еще такая просьба, не подскажите как можно сделать чтобы на странице выводилась информация о колличестве посещений всего, сегодня и желательно уникальных

   
 
 автор: cheops (из ННГУ)   (29.11.2004 в 17:01)
 
   для: DEMON   (29.11.2004 в 15:42)
 

Имеются ввиду чистые хосты?

   
 
 автор: DEMON   (29.11.2004 в 18:49)   письмо автору
 
   для: cheops (из ННГУ)   (29.11.2004 в 17:01)
 

А чистые хосты это какие?

   
 
 автор: cheops   (29.11.2004 в 22:53)   письмо автору
 
   для: DEMON   (29.11.2004 в 18:49)
 

Т.е. без учёта поисковых роботов, менеджеров загрузки и т.п. только посетители, которые используют браузер.

   
 
 автор: cheops   (29.11.2004 в 23:22)   письмо автору
 
   для: DEMON   (29.11.2004 в 15:42)
 

Вам возможно подойдёт скрипт реализованный на странице SoftTime-ИНФО:
<?php
              
// Определяем количество хостов
              
$hosts show_ip_host(1,0);
              function 
show_ip_host($begin,$end)
              {
                
// Запрос на статистику за временной интервал определяемый
                // параметрами $begin,$end
                
$tmp1 "putdate < NOW() - INTERVAL '$end' DAY";
                if(
$begin == 0$tmp2 "";
                else 
$tmp2 " AND putdate >= NOW() - INTERVAL '$begin' DAY";
                
$end $tmp1.$tmp2;
                
// Подсчитываем число IP-адресов (хостов)
                
$query_host "SELECT COUNT(DISTINCT ip) FROM ip
                 WHERE systems != 'none' AND
                       systems != 'robot_yandex' AND
                       systems != 'robot_google' AND
                       systems != 'robot_rambler' AND
                       systems != 'robot_aport' AND
                "
.$end;
                
// Осуществляем запросы к базе данных
                
$hst mysql_query($query_host);
                if(
$hst$hosts mysql_result($hst0);
                return 
$hosts;
              }
            
?>

Хосты помещаются в переменную $hosts, которую вы можете выводить по своему усмотрению.

http://www.softtime.ru/info/

   
Rambler's Top100
вверх

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