WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Знакомство с ASP: счётчик для IIS за 5 минут. Часть 2

Знакомство с ASP: счётчик для IIS за 5 минут. Часть 2


Дата публикации: 17-03-2013

Счетчик работающий совместно с базой данных.

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

К примеру. Вы хотите получить не только количество заходов, но и информацию о клиентском броузере, и времени захода.

Выбираем базу данных. Если сайт сильно загружен, то используется промашленные базы данных (MS SQL, Informix, Oracle), если слабо загружен - то Access.

Создаем таблицу со следующими полями:

Примечание: проектируя таблицы базы посторайтесь минимизировать траффик между Вашим приложением и базой данных, особенно траффик на запись.
Обратите внимание.
IdCounter - автоинкрементное поле, и будет автоматически заполняться, об этом позаботится енжин ADO, Request_Time также будет заполняться автоматически - для этого используется значение в поле "по умолчанию" Date(), возможно использование Now(), или GET DATE() для SQL-Server.

Сохраните таблицу как T_Counter и дайте своей базе какое - либо имя. В данном случае это не принципиально. Принципиально только место расположения базы данных - ВНЕ отображенных на IIS каталогов, в противном случае - назначьте в менеджемнт консоле премиссию на запись в каталог с базой данных.

Следующий шаг. Создадим Системный ресурс ODBC.

Назначим ресурсу ODBC осмысленное название (MyCounter). На этом работа с базой данных закончена.

Код счетчика.

Оформим его ввиде INC - файла, что позволит подключить счетчик к любому asp - файлу Вашего сайта. Код состоит из 2-х фрагментов. В первом фрагменте определяется броузер клиента и информация о нем добавляется в базу данных.

<%
 '-- Декларируем переменные --
 Dim SQLString, strClient, intCount

 '-- Определяем броузер клиента и версию броузера --
 Set bc = Server.CreateObject("MSWC.BrowserType")
 on error resume next
 strClient = bc.browser & " " & bc.version
 If strClient = EMPTY Then strClient = "no identy"
 Set bc = nothing
 '--Подключаемся к ODBС--
 Set Conn = Server.CreateObject("ADODB.Connection")
 myDSN="DSN=MyCounter;uid="";pwd="""
 Conn.open myDSN
 '--Текст запроса на вставку в базу данных--
 SQLString = "INSERT INTO T_Counter(idClient) SELECT '" & strClient & "';"

 '-- Осуществляем запрос --
 Conn.Execute(SQLString)
 IF Conn.errors.count> 0 THEN Response.write ("Ошибка в запросе!" & SQLString)
 '--Блок запроса к базе на выборку--

 '--Открываем рекордсет--
 Set RS = Server.CreateObject("ADODB.Recordset")
 RS.CursorType = adOpenStatic

 '--Формируем запрос--
 SQLString = "SELECT Last(T_Counter.IdCounter) As LastCounter FROM T_Counter ;"
 RS.Open(SQLString), Conn

 '--присваиваем переменной значение--
 intCount = RS("LastCounter")

 IF Conn.errors.count> 0 then
 Conn.Close
 Set Conn = nothing
 Response.write ("Ошибка в запросе!" & SQLString)
 else
 Conn.Close
 Set Conn = nothing
 End If

 %>

Код получения из базы результата счетчика.

В теле asp-страницы в соответствии с дизайном разместите код:
<%
 = intCount
%>

Для подключения INC-файла используйте следующую конструкцию в ASP-файле:
<!-- #Include file="File_name.INC" -->

В дальнейшем будут рассмотрены счетчики-информеры.

Домен продается

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Апрель 2024 (1)
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Роберт Кийосаки:

"Когда люди спрашивают: «С чего мне начинать?» или «Как быстро разбогатеть?», мой ответ их часто разочаровывает. Я просто говорю им то, что когда-то говорил мне богатый папа: «Если хочешь быть богатым, нужно быть финансово грамотным»."

Опрос

Какой антивирус Вы используете?

Kaspersky Antivirus
NOD32
Norton Antivirus
Dr.Web
Panda
Аvast!
ClamWin
Другой...