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

Форум PHP

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

 

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

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

тема: Счётчик не работает.
 
 автор: ildarufa   (11.09.2007 в 10:23)   письмо автору
 
 

Я установил на сайт счётчик, который был в книжке «Практика создания сайтов», но он почему-то не показывает другие страницы, кроме главной. Когда я тестировал сайт вместе со счётчиком на совсем компе, всё работало. Я тестировал на Денвере. Ничего не меняя, я перенёс на сервер. Сервер ruweb.net. На сервере счётчик показывает данные примерно так:
http://www.domen.ru
Но не показывает так: http://www.domen.ru/company.php
Хотя на Денвере он так и показывал.
Я посмотрел – соединение с базой данных есть. Более того, счётчик считает, но он показывает количество посещений только в виде http://www.domen.ru - 56. То есть счётчик считает, но не показывает всех данных, которые мне нужно. Также я сделал дамп базы данных – таблица pages создаётся и там отражаются страницы в виде /company.php/
Насколько я понимаю, за показ данных в том виде, как мне нужно, отвечает вот эта часть кода:


<?
    $query_hits 
"SELECT ip.id_page,
                          pages.name,
                          count(ip.id_ip) AS num,
                          MAX(ip.putdate) AS putdate
                   FROM ip, pages
                   WHERE ip.id_page = pages.id_page
                   GROUP BY ip.id_page 
                   ORDER BY 
$orderstr 
                   LIMIT 
$begin$pnumber";
    
$pgs mysql_query($query_hits);
    if(!
$pgsputerror("Ошибка при обращении к таблице страниц");
    while(
$pag mysql_fetch_array($pgs))
    {
      echo 
"<tr>
              <td><a href=main.php?id_page="
.$pag['id_page'].">http://".$_SERVER["SERVER_NAME"].$pag['name']."</a></td>
              <td>"
.$pag['num']."</td>
              <td>"
.$pag['putdate']."</td>
              <td><a href=delpage.php?id_page="
.$pag['id_page']." title='Удаление устаревших(мёртвых) страниц из системы подсчёта'>Удалить</a></td>
           </tr>"
;
    }
  
?>

Почему-то не отображает вот эту часть:
<td><a href=main.php?id_page=".$pag['id_page'].">http://".$_SERVER["SERVER_NAME"].$pag['name']."</a></td>

А ещё точнее, вот эту часть: .$pag['name'].
Можете мне подсказать, как мне сделать так, чтобы было как у нормальных пацанов?:))

   
 
 автор: sim5   (11.09.2007 в 11:34)   письмо автору
 
   для: ildarufa   (11.09.2007 в 10:23)
 

Ну наверное $pag['name'] пуста. А у нормальных пацанов так :)

   
 
 автор: ildarufa   (11.09.2007 в 11:39)   письмо автору
 
   для: sim5   (11.09.2007 в 11:34)
 

Как я понимаю, эта часть должна сама заполняться в соотвествии с кодом файла count.php

if(@mysql_select_db($dbname,$dbcnx))
    {
      $pgs = mysql_query("SELECT id_page FROM pages WHERE name='$PHP_SELF'");
      if ($pgs)
      {
        // Выясним, первичный ключ (id_page) текущей страницы
        if(mysql_num_rows($pgs)>0) $id_page = mysql_result($pgs,0);
        // Если данная страница отсутствует в таблице pages
        // и не разу не учитывалась - добавляем данную страницу в таблицу.
        else
        {
          $query = "INSERT INTO pages VALUES (0, '$PHP_SELF', 0)";
          mysql_query($query);
          // Выясняем первичный ключ только что добавленной
          // страницы
          $id_page = mysql_insert_id();
        }
      }

   
 
 автор: sim5   (11.09.2007 в 11:50)   письмо автору
 
   для: ildarufa   (11.09.2007 в 11:39)
 

Возможно, но если значение не выводится, при этом нет ошибок при работе скрипта, значит значение пустое. Что мешает вам проверить это?

   
 
 автор: ildarufa   (11.09.2007 в 11:51)   письмо автору
 
   для: sim5   (11.09.2007 в 11:50)
 

А как?

   
 
 автор: sim5   (11.09.2007 в 12:17)   письмо автору
 
   для: ildarufa   (11.09.2007 в 11:51)
 

Заглянуть в таблицу, или просто echo $pag['name'], думаю также получите "пустоту".

   
 
 автор: ildarufa   (11.09.2007 в 12:46)   письмо автору
 
   для: sim5   (11.09.2007 в 12:17)
 

Ну да, пусто. Вы были правы! Интересно, а почему не писалось?
Я скачал новую версию из этого сайта и она работает как надо.

   
 
 автор: cheops   (11.09.2007 в 14:19)   письмо автору
 
   для: ildarufa   (11.09.2007 в 11:39)
 

Исправьте $PHP_SELF на $_SERVER[PHP_SELF]

   
 
 автор: ildarufa   (11.09.2007 в 15:53)   письмо автору
 
   для: cheops   (11.09.2007 в 14:19)
 

Теперь понял, спасибо!

   
Rambler's Top100
вверх

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