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

Форум PHP

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

 

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

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

тема: счетчик - парадоксальная ситуация
 
 автор: elenaki   (07.11.2006 в 10:27)   письмо автору
 
 

Today were 6 visits and 0 unique visitors.

как такое может быть? хотя бы один должен быть уникальный? с кем сравнивают остальных?
какая-то ошибка вкралась в скрипт... я его переделывала под свои запросы (счетчик не ваш).
я так понимаю, что все эти визиты были из нашего офиса. но я еще не доделала скрипт, чтоб
он не считал наши визиты! получается, если с одного IP заходят, так даже за один визит не
считается?

   
 
 автор: anvita   (07.11.2006 в 10:52)   письмо автору
 
   для: elenaki   (07.11.2006 в 10:27)
 

>Today were 6 visits and 0 unique visitors.

>какая-то ошибка вкралась в скрипт... я его переделывала под свои запросы (счетчик не ваш).
Вот и ответ на вопрос -))

   
 
 автор: ihoru   (07.11.2006 в 11:01)   письмо автору
 
   для: elenaki   (07.11.2006 в 10:27)
 

Это ты там что-то намудрила! А ай-пи всегда считается!
Так что код давай!

   
 
 автор: elenaki   (07.11.2006 в 11:02)   письмо автору
 
   для: ihoru   (07.11.2006 в 11:01)
 

дел о в том, что я не трогала функции подсчета визитов. дописала немного других функций и
внешний вид переделала. а сбор статистики не трогала. я спрашивала, может ли быть такая
ситуация - 6 визитов и ни одного уникального...

   
 
 автор: ihoru   (07.11.2006 в 11:08)   письмо автору
 
   для: elenaki   (07.11.2006 в 11:02)
 

НЕТ! никак не может!
код давай, тогда сможем чем-то помочь!

   
 
 автор: elenaki   (07.11.2006 в 11:17)   письмо автору
 
   для: ihoru   (07.11.2006 в 11:08)
 


//adding visits
    mysql_query ("update ".$t1." set visits=visits+1 where dat = '$date'");
    hours ($t5);
    //selet IPs
    $sql = mysql_query ("select iplist from ".$t1." where dat = '$date'");
    $row = mysql_fetch_array($sql);
    $ipl     = $row['iplist'];
    //unique check
    $ip = getip();
    if (!checkIP ($ipl, $ip))//if unique
        {
        //write only not own REFERERES
        $arr = array("http://", "www."); 
        $ref = str_ireplace($arr, "", getenv("HTTP_REFERER")); 
        if ( !preg_match("#^moysite\.com(.*)#i", $ref) )
        mysql_query ("update ".$t1." set iplist = CONCAT(iplist, '$ip;'), reflist = CONCAT(reflist, '".$_SERVER["HTTP_REFERER"].";'), uniq=uniq+1 where dat = '$date'");
        
                        }

я дописала проверку реферера (не хотела захламлять базу визитами сотрудников). а в итоге
он не пишет вообще уникальные визиты :( один хотя бы надо оставить... (у нас IP стационарный)

   
 
 автор: ihoru   (07.11.2006 в 12:11)   письмо автору
 
   для: elenaki   (07.11.2006 в 11:17)
 

На твой вопрос пока не отвечу, н вот замечание есть.
Тут же наверное
вместо:

//adding visits
    mysql_query ("update ".$t1." set visits=visits+1 where dat = '$date'"); 

надо еще и по Ай-Пи выделять, кому добавлять визит!

   
 
 автор: elenaki   (07.11.2006 в 12:15)   письмо автору
 
   для: ihoru   (07.11.2006 в 12:11)
 

простые визиты добавляются. не добавляются уникальные визиты - после проверки:

//write only not own REFERERES
$arr = array("http://", "www."); 
$ref = str_ireplace($arr, "", getenv("HTTP_REFERER")); 
if ( !preg_match("#^moysite\.com(.*)#i", $ref) )
mysql_query ("update ".$t1." set iplist = CONCAT(iplist, '$ip;'), reflist = CONCAT(reflist, '".$_SERVER["HTTP_REFERER"].";'), uniq=uniq+1 where dat = '$date'");


придется запрос разбивать на части и записывать в uniq всех уникальных, а в iplist и
reflist - только чужих, своих выкидывать...

   
 
 автор: cheops   (07.11.2006 в 13:48)   письмо автору
 
   для: elenaki   (07.11.2006 в 10:27)
 

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

   
 
 автор: elenaki   (07.11.2006 в 15:39)   письмо автору
 
   для: cheops   (07.11.2006 в 13:48)
 

может, стоит сделать отдельную таблицу для IP по датам? а то они записываются все в
одно поле через точку с запятой. за день на сайте бывает больше 10 тыс. посетителей
(это у моего клиента). как будет выглядеть поле iplist или reflist, куда через запятую записаны
10 тыс. (или чуть меньше, но все равно счет на тысячи) IP и столько же рефереров?

   
 
 автор: cheops   (07.11.2006 в 22:37)   письмо автору
 
   для: elenaki   (07.11.2006 в 15:39)
 

Нет, запись через запятую в строку IP-адресов при посещаемости в 10 000 посетителей - это насилие над базой данных. Тут я полностью с вами согласен, лучше действительно завести под них таблицу. Более того преобразовывать IP-адреса при помощи функции INET_ATON() в BIGINT, а при помощи обратной фукнции INET_NTOA() восстанавливать их обратно в строки, если возникает такая необходимость. Операции с числовыми столбцами будут протекать гораздо быстрее.

   
Rambler's Top100
вверх

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