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

Форум PHP

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

 

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

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

тема: Счетчик LiveCounter не могу прикрутить
 
 автор: demonWather   (30.06.2005 в 09:56)   письмо автору
 
 

Сабж на Денвер стал без вопросов. И правильно работает.
Но, при установке на хост появилась проблемка.
База создалась успешно, таблицы в ней тоже. Есть подозрение, что не совсем с такими параметрами как было затребовано SQL запросом.
Конфиг настроил правильно, пока база без пароля работает.
Так вот, базу скрипт видит. Но заносит _ТОЛЬКО БАЗОВУЮ СТРАНИЦУ_ сайта. А про остальные вроде как и не вспоминает. id_page упорно только один, а ip вообще не фиксирует.

Автора и знатоки проясните ситуацию.
Заранее спасибо.

   
 
 автор: cheops   (30.06.2005 в 12:09)   письмо автору
 
   для: demonWather   (30.06.2005 в 09:56)
 

1) Бывают проблемы, связанные с тем, что IP-адрес на сервере помещается не в $_SERVER['REMOTE_ADDR'], а в другую переменную. Создайте скрипт
<?php
  phpinfo
();
?>

и посмотрите заносится ли в $_SERVER['REMOTE_ADDR'] IP-адрес посетителя?

2) Удалите все значки @ в count.php (они подавляют вывод предупреждений) - что-нибудь выводится в окно браузера?

   
 
 автор: demonWather   (30.06.2005 в 13:28)   письмо автору
 
   для: cheops   (30.06.2005 в 12:09)
 

содержимое переменных в phpInfo() отображается корректно, удаление @ не привело к появлению каких-либо предупреждений.
Не совсем понимаю смысл строк
$forward = getenv(HTTP_X_FORWARDED_FOR);

$reff = urldecode(getenv('HTTP_REFERER'));

Да и констант таких в инфе не видно.

   
 
 автор: cheops   (01.07.2005 в 00:15)   письмо автору
 
   для: demonWather   (30.06.2005 в 13:28)
 

Это переменные окружения, которые извлекаются при помощи функции getenv - они не отображаются в phpinfo(). В HTTP_X_FORWARDED_FOR обычно помещается маска подсети, а в HTTP_REFERER - реферер посетителя, адрес страницы, с которой был произведён переход.

   
 
 автор: cheops   (01.07.2005 в 00:17)   письмо автору
 
   для: demonWather   (30.06.2005 в 09:56)
 

А как подключается счётчик - вы испльзуете относительный путь?

   
 
 автор: DemonWather   (04.07.2005 в 15:10)   письмо автору
 
   для: cheops   (01.07.2005 в 00:17)
 

Да. Путь относительный. И еще. Я добавил эхо на переменные в файле count.php перед открытием базы данных для транзакций по типу

"echo("<p> Имеем:".$page." for=".$forward." ip=".$ip." ref=".$reff);"

и получаю:

"Имеем: for= ip= ref="

Т.е. ничего не извлекается и в них ничего не пишется.

   
 
 автор: cheops   (04.07.2005 в 20:51)   письмо автору
 
   для: DemonWather   (04.07.2005 в 15:10)
 

Выведите ещё сам запрос
<?php
  
echo $query;
?>

В нём тоже пустые значения?

   
 
 автор: demonWather   (05.07.2005 в 10:11)   письмо автору
 
   для: cheops   (04.07.2005 в 20:51)
 

Абсолютно пустые... Подозреваю, все дело в БД, допусках, паролях и т.д.
Пробовал и под ограниченного пользователя БД делать и под root. Ничего не изменилось.

   
 
 автор: cheops   (05.07.2005 в 12:18)   письмо автору
 
   для: demonWather   (05.07.2005 в 10:11)
 

Хм.... но IP-адреса, реферер и пр. должны заноситься... А попрбуйте вывести значение $_SERVER['REMOTE_ADDR'] при помощи echo - отображается?
<?php
echo $_SERVER['REMOTE_ADDR'];
?>

   
 
 автор: demonWather   (05.07.2005 в 12:53)   письмо автору
 
   для: cheops   (05.07.2005 в 12:18)
 

Вот $_SERVER['REMOTE_ADDR'] содержит ip адрес
а вот просто $REMOTE_ADDR пустой;

Аналогично $_SERVER['PHP_SELF']; содержит путь,
а $PHP_SELF пустой;

getenv(HTTP_X_FORWARDED_FOR) и getenv('HTTP_REFERER') все равно не возвращают ничего.

После замены с префиксом $_SERVER частично все заработало, даже
query = insert into pages values (0,'/count/index.php',0) уже не пустой.

Еще глюк - после этого перестал работать файловая новостная лента.
Вы бы не могли посоветовать среду для отладки php скриптов, а то привычка к MSVC осталась, а редактор phpExpertEditor таких возможностей вроде не предоставляет.

   
 
 автор: cheops   (05.07.2005 в 13:03)   письмо автору
891 байт
 
   для: demonWather   (05.07.2005 в 12:53)
 

Ага, значит у вас отключены суперглобальные переменные - следует использовать count.php, который приложен в аттаче

   
 
 автор: demonWather   (05.07.2005 в 13:20)   письмо автору
 
   для: cheops   (05.07.2005 в 13:03)
 

Искренне Благодарю.

Ссылки на авторов и на этот форум будут не забыты. Остались проблемы с переставшей работать новостной лентой - но это уже совсем другая история.

   
Rambler's Top100
вверх

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