> Главная > Продукты и услуги > Купить > Компания
English / Русский

Документация

Руководство пользователя CNStats 4.4

© "CN-Software" Ltd. 2002-2012
support@cn-software.com
www.cn-software.com
Назад | Оглавление  | Вперед

Описание принципов работы счетчиков

Счетчики для сбора статистики

Счетчик для сайтов, написанных на PHP, состоит из двух основных частей. Первая часть запускается прямо из PHP скрипта следующим вызовом:

<?php
include “/path/to/cnstats/cnt.php”
?>

По умолчанию, этот код сохраняет основную информацию об обращении в базу данных CNStats и выводит на страницу сайта JavaScript код, который, в свою очередь, вызывает вторую часть счетчика. Вторая часть счетчика «для сайтов, написанных на PHP» вызывается как изображение через HTML тег <img src=”/cnstats/cnt-combined.php”>. Вторая часть счетчика работает с Cookies, определяя и сохраняя в базу данных следующую информацию:

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

Если код счетчика не получается вставить в то место, где можно осуществить вывод, то можно воспользоваться опцией $STATS_CONF["codegeneration"], для того чтобы разнести две части кода счетчика в разные места движка сайта.

Счетчик для сайтов, написанных НЕ на PHP работает немного проще. Счетчик представляет из себя JavaScript код, который, посредством изображения-адаптера cnt-gif1x1.php, вызывает основной счетчик cnt.php. Адаптер определяет дополнительную информацию из QUERY_STRING и передает ее основному счетчику. Вот список данных, которые обрабатывает и передает адаптер:

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

Оба типа счетчиков в результате работы отображают невидимое изображение размером 1x1 пиксель. Если вы хотите отображать картинку-счетчик, то вам необходимо использовать счетчики для отображения статистики.

Счетчики для отображения статистики

Формально счетчики для отображения статистики счетчиками не являются, так как не собирают статистику, а только отображают картинки со значениями посещаемости. В CNStats есть два таких счетчика:

Если установить на сайт только код отображения, то статистика собираться не будет. Если вы хотите отображать счетчик, то необходимо установить как код для отображения счетчика, так и код для сбора статистики.

CNStats API

При вызове счетчика можно передать дополнительную информацию для более корректного построения статистики.

Флаг RSS канала - $GLOBALS["CNSTATSRSS"]

Флаг RSS канала используется в случае, если вызов кода счетчика производится из RSS канала. Если флаг установлен в «yes», то данное обращение будет полностью отсутствовать во всех отчетах кроме блока отчетов "RSS каналы". Пример:

<?php
ob_start();
 
// Установка флага RSS канала
$GLOBALS["CNSTATSRSS"]="yes";
 
// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
 
//  Удаление JavaScript кода, который сгенерировал счетчик cnt.php. Это код может нарушить целостность RSS файла.
ob_end_clean();
?>

Флаг страницы 404 - $GLOBALS["CNSTATS404"]

Флаг страницы 404 используется в случае, если вызов кода счетчика производится из страницы 404. Если флаг установлен в «yes», то данное обращение будет полностью отсутствовать во всех отчетах кроме отчетов "Страницы – Популярные страницы 404" и "Рефереры – Ссылки на страницы 404". Пример:

<?php
// Установка флага страницы 404
$GLOBALS["CNSTATS404"]="yes";
 
// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
?>

При использовании «кода счетчика для сайтов, написанных НЕ на PHP», флаг страницы 404 можно передать через переменную «is404» в строке QUERY_STRING.

Название страницы - $GLOBALS[“CNSTATS_TITLE”]

Если движок сайта хранит название в переменной PHP, то это название можно передать счетчику CNStats напрямую. В таком случае, название страницы будет добавлено к основной статистике, даже если вторая часть кода счетчика (JavaScript + изображение) отработает некорректно. Если вторая часть кода счетчика отработает корректно, то название страницы будет заменено на определенное через JavaScript.

Начиная с версии 4.2, название страницы должно быть передано в кодировке UTF-8.

Пример:

<?php
 
// Установка названия страницы
$CNSTATS_TITLE=”Название страницы”;

// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
?>

При использовании «кода счетчика для сайтов, написанных НЕ на PHP», название страницы определяется автоматически.

Пользовательские поля

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

Можно использовать до трех дополнительных полей.

Для того чтобы активизировать дополнительные поля, необходимо включить их и задать названия полей в разделе Конфигурация – Общие настройки  – Пользовательские поля. После этого поля станут доступны для построения фильтров.

Для добавления информации в эти поля используются опции $STATS_CONF["userfield1"], $STATS_CONF["userfield2"] и $STATS_CONF["userfield3"]. В эти поля можно сохранять любую информацию, которую вы хотите добавить в базу данных. Текстовые данные должны передаваться в кодировке UTF-8.

Пример:

<?php
 
// Определение логина пользователя и сохранение его в первом пользовательском поле
$STATS_CONF["userfield1"]=poral.userGetLogin();
 
// Вычисление флага авторизованности
$STATS_CONF["userfield2"]=empty($STATS_CONF["userfield1"])?”no”:”yes”;
 
// Вызов счетчика
include_once "/usr/local/www/novgorod.ru/nv/cnt.php";
?>

При использовании «кода счетчика для сайтов, написанных НЕ на PHP», данные поля можно передать через переменные QUERY_STRING – uf1, uf2 и uf3.

Пример:

<!-- CNStats begin -->
<script type="text/javascript">
cnsd=document;cnst=escape(cnsd.title);
cnst=cnst.replace(/\+/g,'%2B');cnsa=navigator.appName;
cnsn=(cnsa.substring(0,2)=='Mi')?0:1;cnss=screen;cnspx=(cnsn==0)?cnss.colorDepth:cnss.pixelDepth;
document.write('<img src="http://mysite.com/nv/cnt-gif1x1.php?uf1=<?php print urlencode(iconv("windows-1251","utf-8",$NUSER["username"]));?>&amp;uf2=<?php print $NUSER["auth"]?1:0;?>&amp;e='+cnss.width+'.'+cnss.height+'&amp;d='+cnspx+'&amp;r='+escape(cnsd.referrer)+'&amp;p='+escape(cnsd.location)+'&amp;t='+cnst+'" width="1" height="1" border="0">');
</script><noscript><img src="http://novgorod.ru/nv/cnt-gif1x1.php?468&amp;uf1=<?php print urlencode(iconv("windows-1251","utf-8",$NUSER["username"]));?>&amp;uf2=<?php print $NUSER["auth"]?1:0;?>&amp;c=0" width="1" height="1" border="0" alt="" /></noscript>
<!-- CNStats end -->


Назад | Оглавление  | Вперед