Меню
- Главная
- Скрипты
- Шаблоны сайта
- Книги
- Фон для сайта
- Анимированные картинки
- Лохотроны и кидалово в интернете
- Статьи
Партнерские программы:
- Заработок на соцсетях
- разные


Реклама




Информация
Обо всех новых добавлениях на сайт вы можете узнать подписавшись в
_________
Яндекс.Метрика


 
Знакомство с ASP. Счетчик.

Знакомство с ASP. Счетчик.


Знакомство с ASP: счетчик для IIS за 5 минут


В данной статье будут рассмотрены варианты создания счетчиков для сайтов построенных на базе IIS 3, 4, 5, PWS, GoAhead. Для некоторых счетчиков - любой сервер поддерживающий работу со скрипт - машинами Windows с помощью различных расширений и модулей.(Chili-ASP, ActivePerl). При написании статьи использованы материалы с сайтов:

·                                 Microsoft

·                                 www.activeserverpages.ru

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


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

Классификация


По признаку своей функциональности счетчики можно подразделить на счетчики:

·                                 с накоплением

·                                 в рамках сессии

·                                 ементами персонификации

·                                 с возможностью дальнейшего анализа информации о клиенте


По способу хранения информации:

·                                 хранение в переменных сессии (приложения)

·                                 хранение в файле на стороне сервера

·                                 хранение в файле на стороне клиента

·                                 хранение в базе данных

·                                 комбинированные


По способу визуализации:

·                                 текстовые

·                                 графические

·                                 информеры (как комбинация первых двух)

Cчетчик от Microsoft


Возможности: счетчик с накоплением, поддержка "виртуальных" сайтов, отдельных asp-страниц.

Для создания данного счетчика необходимо с сайта Microsoft скачать серверный компонент PageCounter и установить его. Весь код счетчика оформлен в виде ISAPI-dll (распространяется вместе с исходными текстами) и число обращений к конкретной странице или инициалиазация/сброс счетчика вызываются как метод серверного объекта PageCounter.

Для установки счетчика на сервер необходимо скопировать PageCnt.dll в каталог \\InetPub\\ASPSamp\\Components\\PageCnt\\DLL\\i386 и зарегистрировать его: regsvr32 PageCnt.dll В случае, если Вы планируете подсчитывать обращения к нескольким виртуальным сайтам, Вам необходимо конфигурировать их как приложения.

Счетчик поддерживает 2 метода HITS и RESET

Код инициализации счетчика для конкретного сайта:
Распологать его лучше всего в верхней части страницы, в первых строках.

<%
   Set MyPageCounter = Server.CreateObject("IISSample.PageCounter")
   HitMe = MyPageCounter.Hits
%>


Отображение количества заходов:
Данный фрагмент размещайте сообразуясь с дизайном своего сайта.

<% =HitMe %>


Для подсчета на конкретной странице сайта код несколько изменится:

<%
   Set MyPageCount = Server.CreateObject("IISSample.PageCounter")
   MyPageCount.PageHit
   HitMe = MyPageCount.Hits
%> <%    =HitMe %>


или

<%    Set MyPageCounter = Server.CreateObject("IISSample.PageCounter")
%>
This Web page has been viewed <%= MyPageCount.Hits %> times.
<P>
Page Myscript.asp has been viewed
<%= MyPageCounter.Hits("/VirtualDir1/Myscript.asp") %> times.


Для того, чтобы запустить счетчик с какого-либо начального значения (12345) используйте следующий код:

<%
   =HitMe + 12345
%>


Сброс счетчика (RESET).

<%
   Set MyPageCounter = Server.CreateObject("IISSample.PageCounter")
   MyPageCounter.Reset
   MyPageCounter.Reset("/VirtualDir1/Mypage.asp")
%>

Простейшиe счетчики


Возможности: счетчик с накоплением. Хранит информацию о количестве обращений в текстовом файле.

Используется объект VBScript (WSH) FileSystemObject.

Порядок действий

1.                              Создайте текстовый файл c:\\mycount.txt

2.                              Для инициализации счетчика укажите в текстовом файле начальное значение. На пример 0.

3.                              В тело вашей страницы впишите следующий код:

<%
'Декларирование переменных
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Dim fso, f, myCounter
'Создаем объект
   Set fso = CreateObject("Scripting.FileSystemObject")
'открываем файл на чтение, и считываем из него ВСЕ содержимое
'если файл отсутствует, то создаем его (Trye).
   Set f = fso.OpenTextFile("c:\\mycount.txt", ForReading, True)
'отключаем обработку ошибок
   On error resume next
'считываем содержимое, в случае пустого (Empty)значения
'присваиваем значение 0 переменной myCounter
   myCounter = f.readAll
   If myCounter = Empty  Then
myCounter = 0
'если все в порядке, то увеличиваем значение переменной myCounter на 1
   Else
myCounter = myCounter + 1
   End If
'открываем файл на запись и обновляем значение счетчика
   Set f = fso.OpenTextFile("c:\\mycount.txt", ForWriting, True)
   f.Write myCounter
'закрываем файл
   f.Close
'очищаем память
   Set f = nothing
   Set fso = nothing
%>

4.                              В соответствии с дизайном разместите счетчик.

<%
   = myCounter
%>


Счетчик с накоплением. Хранит данные в переменных сесии ( приложения ), отображает количество пользователей, находящихся в данный момент на сайте.

В рут - каталоге сайта создайте файл global.asa

Код:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnStart
   Session.Timeout = 5
   Application.lock
   Application("myCounter") = Application("myCounter") + 1
   Application("visitors") = Application("visitors") + 1
   Application.unlock
END SUB
</script>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnEnd
   Application.lock
   Application("visitors") = Application("visitors") - 1
   Application.unlock
END SUB
</script>


В теле asp-страницы разместите код:

<%
   Dim vist, currentcount
   visit = Application("visitors")
   currentcount =   Application("myCounter")
%>


В соответствии с дизайном поместите счетчик общего числа обращений/текущего количества пользователей

<%
   = currentcount & "/" & visit
%>



Назад
Автор: Евгений Кондратов aka Udjin