Сайтостроительство


         

Анализ посетителей веб-сайта - часть 2


Обратите внимание, что код на JavaScript состоит из двух блоков. В первом определяется версия JavaScript, а во втором идет код самого счетчика. Самым последним параметром передается случайное число, оно не используется, но необходимо, чтобы броузеры и прокси-сервера не кэшировали наш счетчик. Если бы этого случайного числа не было, то скрипт счетчика вызывался бы только один раз, при первом заходе пользователя, а в остальных случаях броузер или прокси-сервер выдавал бы прозрачный GIF из кэша.

Нас интересуют отчеты, которые показывают: количество уникальных посетителей сайта, общее количество запрошенных страниц, среднее количество страниц, запрашиваемых одним пользователем, самые популярные страницы нашего сайта, страницы, с которых пользователи приходят на наш сайт, динамика визитов, операционные системы и броузеры пользователей.

Сам скрипт counter, который вносит в таблицу hit новую запись об очередном открытии нашей страницы, очень прост. Но он отличается от CGI-скриптов, рассмотренных ранее тем, что выдает прозрачный GIF-файл размером 1х1 пиксел. Все счетчики устроены по такому принципу, т.к. единственная возможность вызвать CGI-скрипт одновременно с загрузкой HTML-страницы - это вызвать его в команде img.

/* * (c) Copyright 1995-2000, Igor Tarasov * http://itsoft.ru * FidoNet: 2:5020/370.2 620.20 1103.5 * email: igor@itsoft.ru itarasov@rtuis.miem.edu.ru * Phone: (095)916-89-51 916-89-63 */

#include <stdio.h> #include <mysql/mysql.h> #include <itcgi.h>

int main() {

MYSQL* pDB;

LString* sref = CreateString(); LString* pref = CreateString(); LString* spage = CreateString(); LString* ppage = CreateString();

LString* id = CreateString(); LString* ref = CreateString(); LString* browser = CreateString(); LString* version = CreateString(); LString* cookie = CreateString(); LString* frame = CreateString(); LString* java = CreateString(); LString* x = CreateString(); LString* y = CreateString(); LString* depth = CreateString(); LString* js = CreateString(); LString* os = CreateString(); char str[4096];




Содержание  Назад  Вперед