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

Форум PHP

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

 

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

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

тема: Система статистики
 
 автор: Сервер   (15.01.2005 в 15:52)   письмо автору
 
 

Здравствуйте, пользуюсь системой статистики
PowerCounter 2.1.2, очень доволен. Спасибо вам!

Вопрос:
Не могу настроить раздел "ссылки"

Хочу узнать, сколько посетителей приходят с этой странички http://server.photosight.ru
на мой сайт http://www.serversdesign.com

в поле Реферер пишу: http://server.photosight.ru.
Подсчет не ведется, почему??

Спасибо
Сервер Кубединов

   
 
 автор: cheops   (15.01.2005 в 19:07)   письмо автору
 
   для: Сервер   (15.01.2005 в 15:52)
 

Спасибо за добрый отзыв :)
В поле реферер следует вводить адрес сервера без префикса http://, можно ограничиться даже частью адреса, например
photosight.ru

   
 
 автор: Сервер   (15.01.2005 в 19:51)   письмо автору
 
   для: cheops   (15.01.2005 в 19:07)
 

нет результата. счетчик в разделе "ссылки" по нулям.

   
 
 автор: cheops   (15.01.2005 в 20:45)   письмо автору
 
   для: Сервер   (15.01.2005 в 19:51)
 

Хм... если вам не сложно, не могли бы вы сообщить дату загрузки PowerCounter (рекомендуется заменить файл count.php на более свежий, если загрузка была произведена более 2-х месяцев назад), а так же посмотреть имеются ли записи в таблице refferer с заходами с сайта http://server.photosight.ru?

   
 
 автор: Сервер   (15.01.2005 в 21:36)   письмо автору
 
   для: cheops   (15.01.2005 в 20:45)
 

Должен сказать, что мы уже работали над счетчиком, настраивая его работу под shtml
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1028&id_post=7246

А на счет таблицы, там есть такая вот, весьма подозрительная надпись:
http://mail.yandex.ru/msg?mesid=1060000000033788730&folder=270000000000062236

   
 
 автор: cheops   (15.01.2005 в 22:40)   письмо автору
 
   для: Сервер   (15.01.2005 в 21:36)
 

А http://server.photosight.ru там нигде не встречается? В указанном URL как раз всё нормально - кто-то кому-то прислал на почту на Yandex письмо, и получатель прошёл по ссылке. Вас, конечно, Yandex к чужому письму уже не пустит.

   
 
 автор: Сервер   (16.01.2005 в 00:18)   письмо автору
 
   для: cheops   (15.01.2005 в 22:40)
 

Да в том то и дело, что http://server.photosight.ru там нигде не встречается.


Попробую обновить файл count.php

   
 
 автор: cheops   (16.01.2005 в 00:45)   письмо автору
 
   для: Сервер   (16.01.2005 в 00:18)
 

А вообще много в таблице refferer записей... т.е. каково соотношение между числом записей в таблице ip и refferer?

   
 
 автор: Сервер   (16.01.2005 в 00:58)   письмо автору
 
   для: cheops   (16.01.2005 в 00:45)
 

count.php у меня обновленный.
Я сейчас подключил новую базу, там refferer совсем без ссылок, а в ip есть все мои пробные прыжки по сайту.

Добавил ссылку с вашего сайта... ничего

пойду съем конфетку ;)

   
 
 автор: cheops   (16.01.2005 в 01:12)   письмо автору
 
   для: Сервер   (16.01.2005 в 00:58)
 

Да так не дожно быть, посмотрите пожалуйста так ли выглядит последний блок count.php
<?php
      
if(!empty($reff) && $search != "own_site")
      {
        
$query_reff "INSERT INTO refferer VALUES (
                 0,
                 '
$reff',
                 now(),
                 '
$ip',
                 
$id_page,
                 '
$search')";
        @
mysql_query($query_reff);
      }
?>

и каков размер файла count.php?

   
 
 автор: Сервер   (16.01.2005 в 01:23)   письмо автору
 
   для: cheops   (16.01.2005 в 01:12)
 

Последний блок выглядит так же.
размер: 3,94 КБ

в файл внесены только такие изменения:
.$_SERVER['PHP_SELF'].
на
.$_SERVER["REQUEST_URI"].

   
 
 автор: cheops   (16.01.2005 в 01:55)   письмо автору
 
   для: Сервер   (16.01.2005 в 01:23)
 

Хм... попробуйте проконтролировать содержимое Referer, выведя его на какой-нибудь тестовой странице:
<?php
  
echo $reff;
?>

что-нибудь выводится при переходе на эту страницу с другой (можно даже с вашего же сайта).

   
 
 автор: Сервер   (16.01.2005 в 02:11)   письмо автору
 
   для: cheops   (16.01.2005 в 01:55)
 

В общем я не так силен в программировании, верней сказать соПсем не силен.
Если правильно понял, этот код
<?php 
  
echo $reff
?> 

надо вставить в любой php файл, и проверить, что происходит при заходе на эту страницу.

А ничего не происходит. хм

   
 
 автор: cheops   (16.01.2005 в 03:09)   письмо автору
 
   для: Сервер   (16.01.2005 в 02:11)
 

Тогда вместо $reff поставьте $_SERVER["HTTP_REFERER"], а ещё лучше выведите содержимое phpinfo();
<?php
  phpinfo
();
?>

и посмотрите что находится в элменте $_SERVER["HTTP_REFERER"], если ничего там нет - в каком элементе находится реферер... он там где-то должен быть обязательно.

   
 
 автор: Сервер   (16.01.2005 в 03:45)   письмо автору
 
   для: cheops   (16.01.2005 в 03:09)
 

со словом "referer" нашел только это
session.referer_check и рядом "no value"

а наверное должно было быть гдето тут?
PHP Variables

_SERVER["HTTP_ACCEPT"]
_SERVER["HTTP_ACCEPT_LANGUAGE"]
_SERVER["HTTP_XXXXXXXXXXXXXXX"]
_SERVER["HTTP_USER_AGENT"]
_SERVER["HTTP_HOST"]
_SERVER["HTTP_CONNECTION"]
_SERVER["PATH"]
_SERVER["SERVER_SIGNATURE"]
_SERVER["SERVER_SOFTWARE"]
_SERVER["SERVER_NAME"]
_SERVER["SERVER_ADDR"]
_SERVER["SERVER_PORT"]
_SERVER["REMOTE_ADDR"]
_SERVER["DOCUMENT_ROOT"]
_SERVER["SERVER_ADMIN"]
_SERVER["SCRIPT_FILENAME"]
_SERVER["REMOTE_PORT"]
_SERVER["GATEWAY_INTERFACE"]
_SERVER["SERVER_PROTOCOL"]
_SERVER["REQUEST_METHOD"]
_SERVER["QUERY_STRING"]
_SERVER["REQUEST_URI"]
_SERVER["SCRIPT_NAME"]
_SERVER["PHP_SELF"]
_SERVER["PATH_TRANSLATED"]
_SERVER["argv"]



_SERVER["argc"]
_ENV["HZ"]
_ENV["SHELL"]
_ENV["TERM"]
_ENV["USER"]
_ENV["LD_LIBRARY_PATH"]
_ENV["MAIL"]
_ENV["PATH"]
_ENV["PWD"]
_ENV["SHLVL"]
_ENV["HOME"]
_ENV["LOGNAME"]
_ENV["_"]

   
 
 автор: cheops   (16.01.2005 в 13:07)   письмо автору
 
   для: Сервер   (16.01.2005 в 03:45)
 

Хм... без значений ничего не скажешь... но я так понял нет адреса с которого произошёл переход на страницу. Вообще бывает такое, в этом случае нужно написать письмо хостеру и поинтересоваться каким образом, следует определять referer на ихнем хосте - в большинстве случаев сообщается альтернативный путь как сделать, уникальный для данного хоста...

   
 
 автор: glsv (Дизайнер)   (16.01.2005 в 13:33)   письмо автору
 
   для: cheops   (16.01.2005 в 13:07)
 

Гош, там счетчик через shtml работает. Фиг знает какая переменная нужна... Попробую сегодня посмотреть.

   
 
 автор: cheops   (16.01.2005 в 13:47)   письмо автору
 
   для: glsv (Дизайнер)   (16.01.2005 в 13:33)
 

Хм... ну сервер-то всё-равно их складывать должен в одно место, count.php у нас же на PHP и данные ему нужно брать либо из суперглобального массива $_SERVER, либо из переменных окружения... хотя чёрт его знает, когда на сервере море модулей висит, нужная переменная может быть где угодно... мы у себя IP-адрес посетителя тоже неделю искали...

   
 
 автор: glsv (Дизайнер)   (16.01.2005 в 21:36)   письмо автору
 
   для: cheops   (16.01.2005 в 13:47)
 

А черт его знает. Там же вот как счетчик подключается.
<html> 
<head> 
</head> 
<!--#include virtual="count.php" --> 
</html> 


Неизвестно что count.php достается и достается ли... Referer вполне может до него и не дойти.

   
 
 автор: cheops   (17.01.2005 в 00:04)   письмо автору
 
   для: glsv (Дизайнер)   (16.01.2005 в 21:36)
 

На $_SERVSER это не влияет - это суперглобальный массив, там где есть PHP, там есть и он, а без PHP бы счётчик не работал.

   
 
 автор: Сервер   (17.01.2005 в 13:59)   письмо автору
 
   для: cheops   (17.01.2005 в 00:04)
 

Привет!
Это мне написали хостеры:
$httpref = $HTTP_SERVER_VARS["HTTP_REFERER"];
if (eregi("\\?", $httpref)){
    $refererget = explode("?",$httpref);
    $referer = $refererget[0]; 
  }else {
    $referer = $httpref; 
}
print $referer."<br>";


И может они чего исправили на сервере???
ссылка с вашего сайта защиталась, кто то пришел разок, но с того сайта с которого я хочу данные получить, так ничего и не получается.

Спасибо

   
 
 автор: cheops   (17.01.2005 в 14:03)   письмо автору
 
   для: Сервер   (17.01.2005 в 13:59)
 

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

   
 
 автор: Сервер   (17.01.2005 в 16:43)   письмо автору
 
   для: cheops   (17.01.2005 в 14:03)
 

Нет, с фотосайта посетителей так и не считает. :((
у меня "Internet Explorer"

   
 
 автор: Сервер   (16.01.2005 в 20:53)   письмо автору
 
   для: cheops   (16.01.2005 в 13:07)
 

Задал вопрос хостеру:
Как можно определить "referer"?

Ждем ответ.

   
 
 автор: glsv (Дизайнер)   (16.01.2005 в 13:45)   письмо автору
 
   для: Сервер   (16.01.2005 в 03:45)
 

А вы как это смотрели?
Я смотрел у себя на локальной машине. $_SERVER["HTTP_REFERER"] содержит нужное значение.

Алгоритм поиска такой:
1. Создайте файл ref.shtml в котором будет только одна ссылка
<a href="count.shtml">Ищем реферер</a>


2. Создайте файл count.shtml со следующими инструкциями
<html> 
<head> 
</head> 
<!--#include virtual="phpinfo.php" --> 
</html>


3. Создайте файл phpinfo.php
<?
  phpinfo
();
?>


Теперь откройте в браузере файл ref.shtml.
Затем перейдите по ссылке "Ищем реферер"
Вам должны открыться таблицы phpinfo(). И теперь ищите переменную в которой будет содержаться имя файла, с которого вы перешли (ref.shtml).
Та переменная в которой вы его найдете и бужет нужной.

PS: и должна появится переменная $_SERVER["HTTP_REFERER"]

   
 
 автор: Сервер   (16.01.2005 в 15:57)   письмо автору
 
   для: glsv (Дизайнер)   (16.01.2005 в 13:45)
 

не нахожу в таблице имени файла (ref.shtml), соответственно и этой переменной тоже нет $_SERVER["HTTP_REFERER"]

если phpinfo не содержит секретных данных, могу выложить данные или выслать по почте.

   
 
 автор: glsv (Дизайнер)   (16.01.2005 в 21:36)   письмо автору
 
   для: Сервер   (16.01.2005 в 15:57)
 

А тестируете где? На локальной машине или на хостинге?

>если phpinfo не содержит секретных данных, могу выложить данные или выслать по почте.
Врядли это поможет. Если переменных нет, то и мы их не найдем :(

   
 
 автор: Сервер   (16.01.2005 в 21:42)   письмо автору
 
   для: glsv (Дизайнер)   (16.01.2005 в 21:36)
 

Все тестирую на хостинге.

   
 
 автор: Сервер   (18.01.2005 в 01:58)   письмо автору
 
   для: glsv (Дизайнер)   (16.01.2005 в 21:36)
 

А если я нажимаю на IP-адреса и программа пишет, сервис не доступен, это тоже реферер виноват?

Может хостер у меня специфффический...?

   
 
 автор: glsv (Дизайнер)   (18.01.2005 в 02:11)   письмо автору
 
   для: Сервер   (18.01.2005 в 01:58)
 

Тут скорее всего проблема в IP-адресах хостера. Служба Whois позволяет принимать определенное количество запросов с одного IP. И при превышении этого количества (характеристики и объем превышения мне неизвестен) запросы к службе с этого IP – блокируются. И IP-адреса хостинг-компаний, на которых размещено множество сайтов, первые кандидаты в черный список. Так мало ли кто у них хостится и какие запросы шлет в Whois.

Например, мы тоже не может получить доступ к Whois с нашего хостинга. Та же самая ситуация. А у наших клиентов, размещенных на других хостингах – все ОК.

   
 
 автор: Сервер   (18.01.2005 в 03:02)   письмо автору
 
   для: glsv (Дизайнер)   (18.01.2005 в 02:11)
 

Вы уже видели, что прислали мне хостеры в ответ на мой вопрос.
Я спрашивал, как можно определить реферер?
$httpref = $HTTP_SERVER_VARS["HTTP_REFERER"]; 
if (eregi("\\?", $httpref)){ 
    $refererget = explode("?",$httpref); 
    $referer = $refererget[0]; 
  }else { 
    $referer = $httpref; 

print $referer."<br>"; 

Это может нам помочь решить вопрос?
Если нет, тогда закроем эту тему.
Спасибо

   
 
 автор: cheops   (18.01.2005 в 03:14)   письмо автору
 
   для: Сервер   (18.01.2005 в 03:02)
 

Попробуйте заменить 19 строку count.php
<?php
  $reff 
urldecode($_SERVER["HTTP_REFERER"]);
?>

на
<?php
$httpref 
$HTTP_SERVER_VARS["HTTP_REFERER"]; 
if (
eregi("\\?"$httpref)){ 
    
$refererget explode("?",$httpref); 
    
$referer $refererget[0]; 
  }else { 
    
$referer $httpref

$reff urldecode($referer);
?>

и посмотреть есть ли какие-либо положительные сдвиги - прямо по таблице refferer смотрите...

   
 
 автор: Сервер   (18.01.2005 в 03:33)   письмо автору
 
   для: cheops   (18.01.2005 в 03:14)
 

однако...
Вот еще я выяснил, что все это время я мучил вас, причем зря.

Вы на меня не сердитесь пожалуйста ;)

Отключил программу "Zone Labs Security" и в таблице "phpinfo.php" появился реферер
_SERVER["HTTP_REFERER"] http://www.serversdesign.com/***/ref.shtml 


теперь пои прыжки с вашего сайта на мой, фиксируются но всеже с сылки [url]www.server.photosight.ru
[/url] НЕТ.

   
 
 автор: cheops   (18.01.2005 в 14:18)   письмо автору
 
   для: Сервер   (18.01.2005 в 03:33)
 

Прямо магический какой-то сервер :)))

   
 
 автор: denvor   (18.01.2005 в 22:50)   письмо автору
 
   для: cheops   (18.01.2005 в 14:18)
 

Написал бы, что за хостер? Не GoldHost часом ? :) У меня там такие же проблемы -решение Cheops сработало (большое спасибо!) - счетчик стал считать, но в таблице реферер - пусто и еще ошибка вылезает:

Warning: gethostbyaddr(): Address is not a valid IPv4 or IPv6 address in /.../admin/addresses.php on line 86
3 2005-01-18 22:39:58

   
 
 автор: Сервер   (19.01.2005 в 01:05)   письмо автору
 
   для: denvor   (18.01.2005 в 22:50)
 

хостер

------------> Terions Communication Ltd <---------------
-Richardstrasse 112 Telefon +49 30 52679-694-
-D-12043 Berlin Telefax +49 30 52679-724-
-Netz: http://www.terions.de Email info@terions.de -
---------------------------------------------------------

   
Rambler's Top100
вверх

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