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

Форум PHP

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

 

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

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

тема: Проблемы с установкой счётчика PowerCounter
 
 автор: Mistes   (15.02.2011 в 10:18)   письмо автору
 
 

После небольшого обсуждения в одной из прежних тем открыл новую.

К сожалению, не могу никак добиться работы счётчика на сайте. Конструкцию
<?php
$titlepage = "[*pagetitle*]";
require_once("count.php");
?>
видоизменял, прописывал в ней и относительный путь (папку), и абсолютный - с именем домена и папкой... Результата никакого. Соединение с базой данных есть, главная страница счётчика открывается нормально. Сниппет [*pagetitle*] работает нормально, в исходном коде страницы её имя в этой конструкции отображается правильно. Тем не менее, под названием счётчика га Главной странице уже который день висит значение "Система работает: 0 дней", и мои попытки что-то изменить оканчиваются неудачей. Ни IP-адресов, ни хитов и хостов счётчик так и не регистрирует, не говоря уж об остальном, т.е., видимо, всё же проблема в конструкции require_once("count.php")... Не пойму, что я сделал не так.
Подскажите, пожалуйста!

  Ответить  
 
 автор: cheops   (15.02.2011 в 10:25)   письмо автору
 
   для: Mistes   (15.02.2011 в 10:18)
 

1) Скрипты, к которым подключен счетчик где расположены на сайте (в папках, подпапках)? И где расположен сам count.php?
2) В таблицу базы данных powercounter_ip после посещения страниц добавляются новые записи?

  Ответить  
 
 автор: Mistes   (15.02.2011 в 10:52)   письмо автору
87.9 Кб
 
   для: cheops   (15.02.2011 в 10:25)
 

По первому вопросу - count.php в папке 1 уровня (корневая/powercounter), скрипты в подпапках, как было при распаковке архива. В конструкцию вызова на странице прописал сперва относительный путь (/powercounter/count.php), потом абсолютный (www.___.ru/powercounter/count.php), изменений нет.
В таблице новых значений нет, попробую прикрепить скриншоты... Может, не понял, где искать...

  Ответить  
 
 автор: Trianon   (15.02.2011 в 11:07)   письмо автору
 
   для: Mistes   (15.02.2011 в 10:52)
 

относительный путь будет выглядеть так:
require_once('powercounter/count.php');


абсолютный путь будет выглядеть так:
require_once($_SERVER['DOCUMENT_ROOT'].'/'.'powercounter/count.php');

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:27)   письмо автору
 
   для: Trianon   (15.02.2011 в 11:07)
 

Ага, понял... Извиняюсь за нехватку грамотности. Спасибо! Сейчас попробую подставить абсолютную конструкцию... Там ведь ничего менять не надо, как я понял, значения будут подставлены автоматически?

  Ответить  
 
 автор: cheops   (15.02.2011 в 11:30)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:27)
 

Да, совершенно верно.

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:31)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:27)
 

Подставил, побежался по страницам - ничего... Сейчас посмотрю в таблице, хотя почти уверен, что там тоже.

Насколько я понял, ведь нет разницы, куда именно в документе конструкция упрятана? У меня она в самом конце тега BODY... Но ведь, насколько я понял, это неважно, в каком его отделе...

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:36)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:31)
 

По-прежнему - по нулям...

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:39)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:36)
 

Ещё вопрос - в оригинале (в readme) стояли двойные кавычки, здесь одинарные - это имеет значение? Сейчас попробую их переписать...

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:44)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:39)
 

Попробовал... Пока по нулям. :)

  Ответить  
 
 автор: cheops   (15.02.2011 в 11:47)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:39)
 

Нет, кавычки значения не имеют.

  Ответить  
 
 автор: cheops   (15.02.2011 в 11:41)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:31)
 

А у вас страницы, к которым счетчик подключается, какие расширения имеют?

  Ответить  
 
 автор: Trianon   (15.02.2011 в 11:42)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:31)
 

Разница есть.
Процесс исполнения скрипта должен добраться до точки вызова счетчика.
Если он у Вас прервется раньше - эффекта не будет.
Кроме того, файл, в который Вы ставите команду подключения счетчика должен интерпретироваться php , а не отправляться http-сервером напрямую клиенту в браузер.
Проверить это можно, добавив сразу после вызова конструкцию echo "powercounter checked"; и убедившись что эта пара слов попала на страницу.

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:52)   письмо автору
 
   для: Trianon   (15.02.2011 в 11:42)
 

Как обычно - php, определяемое браузером как html...

Подставил сразу после require_once('powercounter/count.php'); - не появились. Сейчас перенесу в верхнюю часть тега...

  Ответить  
 
 автор: Mistes   (15.02.2011 в 11:54)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:52)
 

Перенёс конструкцию сразу после открытия тега - ничего...

  Ответить  
 
 автор: cheops   (15.02.2011 в 11:54)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:52)
 

Попробуйте еще следующее, откройте count.php, найдите все символы подавления ошибок @ и уберите их. Не выводится никаких предупреждений?

  Ответить  
 
 автор: Trianon   (15.02.2011 в 11:55)   письмо автору
 
   для: Mistes   (15.02.2011 в 11:52)
 

>Как обычно - php,
Ок.

>определяемое браузером как html...
Что то Вы не то говорите. Браузеру совершенно безразлично, какое расширение у документа страницы.

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:04)   письмо автору
 
   для: Trianon   (15.02.2011 в 11:55)
 

Возможно, я чего-то недопонимаю в работе своего движка... :) Сейчас попробую разобраться.

В исходнике скрипт выделен розовым курсивом...
Сама страница определяется как html, вероятно, в этом и проблема?

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:13)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:04)
 

"Она написана на PHP, использует СУБД MySQL. Использует в работе PHP 5.2.9 или выше, MySQL 5.0.67 или выше"

  Ответить  
 
 автор: Trianon   (15.02.2011 в 12:16)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:04)
 

После вызова страницы в браузере, откройте её HTML-код (правая кнопка мыши, просмотр исходного HTML-текста) , найдите контекст места подключения.
Если Вы не обнаружите контекста вообще - значит исполнение скрипта оборвалось где-то раньше.
Если Вы там обнаружите require_once - значит документ не проходит через php и Вам нужно разбираться, почему на Вашем сервере php не работает как таковой.

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:28)   письмо автору
 
   для: Trianon   (15.02.2011 в 12:16)
 

На сервере php работает, проверял простейшей конструкцией... php mysql_connect(). Всё нормально, выводится таблица с параметрами php и т.д.
В исходнике в HEAD нашёл массивный скрипт, начинающийся строкой
<script src="http://www.dom-bez-kluchey.ru/assets/js/jquery-1.4.4.min.js" type="text/javascript"></script>
И далее на полстраницы.

Конструкции require_once (кроме той, что вставил) не нашёл, своя по-прежнему в теге body. Изменений нет...

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:31)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:28)
 

Пожалуй, я не совсем представляю, что искать в качестве контекста места подключения... :) Чайник ещё совсем. :)

  Ответить  
 
 автор: Trianon   (15.02.2011 в 12:31)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:28)
 

>Конструкции require_once (кроме той, что вставил) не нашёл, своя по-прежнему в теге body.
Никакую другую искать и не предлагали.
Своя должна была исчезнуть (поменяться на строку powercounter checked).
Если этого не произошло - значит что-то у Вас там неправильно записано.
Поставили бы вызов еще до <HEAD> чтоли.

Зачем экспериментировать на страницах с дикими тяжелыми скриптами?
Почему не отточить процесс на чем-нибудь попроще?
Вам головняка в жизни не хватает чтоли?

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:36)   письмо автору
 
   для: Trianon   (15.02.2011 в 12:31)
 

Всё, теперь понял. :)
Что ж, значит, проблемы с сервером... Верно? Попробую написать в техподдержку...

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:39)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:36)
 

Головняка в жизни более, чем достаточно. Но это вопрос философского характера, к делу отношения не имеющий. Что до скриптов - какие сформированы движком при создании страниц сайта, такие и есть. Увы, тут что-либо изменить не выйдет. Какие есть. в те и подставляю. Спасибо за помощь. Видимо, дальше буду разбираться сам.

  Ответить  
 
 автор: Trianon   (15.02.2011 в 12:49)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:39)
 

>Что до скриптов - какие сформированы движком при создании страниц сайта, такие и есть.

Вот эта фраза начинает проливать свет.
А движок этот предоставляет возможность внесения последующих вставок php-кода в сгенерированные страницы?

Если нет, проблема вполне может быть вызвана тем, что сгенерированная движком страница не предназначена, и не подвергается php-обработке.

  Ответить  
 
 автор: Trianon   (15.02.2011 в 12:45)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:36)
 

вовсе не значит.
Вы же не показали, как вызываете счетчик.

Как то же самое происходит на других серверах - тоже неизвестно.
На локальном сервере (на денвере к примеру) - проверяли?

  Ответить  
 
 автор: Mistes   (15.02.2011 в 12:52)   письмо автору
 
   для: Trianon   (15.02.2011 в 12:45)
 

Нет, не проверял - после написания сайта снёс там движок. Сейчас попробую, потом напишу о результатах.

В смысле, как вызываю? Вроде ж, вставлял её где-то здесь, всё скопировано из readme или со страницы скачивания (там то же самое). Вот конструкция вызова, если я что-то понял (с учётом последних изменений):
<?php
     $titlepage 
"[*pagetitle*]";
   require_once(
"/powercounter/count.php");
   echo 
"powercounter checked";
?>

  Ответить  
 
 автор: Trianon   (15.02.2011 в 12:58)   письмо автору
 
   для: Mistes   (15.02.2011 в 12:52)
 

>Вот конструкция вызова, если я что-то понял (с учётом последних изменений):
>
<?php
     $titlepage 
"[*pagetitle*]";
   require_once(
"/powercounter/count.php");
   echo 
"powercounter checked";
?>


В этом фрагменте одна ошибка, некорректно задан путь к скрипту.
Варианты задания пути я показал в (15.02.2011 в 11:07)

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

  Ответить  
 
 автор: Mistes   (15.02.2011 в 13:29)   письмо автору
 
   для: Trianon   (15.02.2011 в 12:58)
 

Да, глупо получилось. Забыл переписать после экспериментов.

Сейчас на Главной странице счётчика значится "Система работает: 1 день", но при переключении к другим таблицам - снова 0, в базе новых значений после хождения по страницам так и не появилось.

Разумеется, я исправил строку.

  Ответить  
 
 автор: Будущий мастер   (15.02.2011 в 16:43)   письмо автору
 
   для: Mistes   (15.02.2011 в 10:18)
 

Посмотри вот эту конструкцию в файле count.php:
$query_main = "INSERT INTO ip VALUES (0,'$ip',NOW(),'$id_page','$browser','$os','$search')";
и сравни количество полей в таблице : ip.
У тебя не заносяться данные в таблицу, как появяться данные - заработает и вся система

  Ответить  
 
 автор: Mistes   (15.02.2011 в 23:33)   письмо автору
 
   для: Будущий мастер   (15.02.2011 в 16:43)
 

Спасибо...
$query_main = "INSERT INTO $tbl_ip VALUES (                                           
             NULL,
             INET_ATON('$ip'),
             NOW(),
             $id_page,
             '$browser',
             '$os')";

Мой код отличается... Он такой.
Пожалуй, я дам мозгу немного отдохнуть, а потом снесу счётчик и попробую проделать всю работу от начала и до конца заново. Вначале опробую его на Денвере, на пробном сайте, а потом и в реале... надеюсь, это что-то даст. Очень надеюсь...
Благодарю всех за помощь!

  Ответить  
 
 автор: Будущий мастер   (16.02.2011 в 01:29)   письмо автору
7.9 Кб
 
   для: Mistes   (15.02.2011 в 23:33)
 

Ну а в таблице у тебя сколько полей? и какие

Есть поле searches ?

  Ответить  
Rambler's Top100
вверх

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