Referat.me

Название: Статистика на сайті

Вид работы: реферат

Рубрика: Информатика и программирование

Размер файла: 27.49 Kb

Скачать файл: referat.me-140786.docx

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

Статистика на сайті

Реферат

"Статистика на сайті"


План

Вступ

1. Розгляд фрагментів скрипта

2. Вигляд лічильника у браузері


Вступ

Для будь-якого веб-програміста рано чи пізно постає питання відвідуваності його сайту користувачами. Вже не секрет, що чим більша відвідуваність інтернет-ресурса тим краще для власника сайту. Адже якщо сайт відвідують щоденно багато людей то є більші шанси продати товар, який пропонується на даному сайті, або просто заробити на показі рекламних блоків, банерів, або популярних сьогодні партнерських програмах.

Тому для того щоб можна було взнати кількість відвідувачів сайту на добу і створюють різного роду лічильники хітів і відвідин. Дані лічильники показують скільки чоловік побувало на сайті за добу, та кількість завантажень сторінок сайту(хіти).

Мета цього скрипта – збір статистики на сайті, огляд хітів і відвідувачів. В даній роботі буде створено лічильник, який не накручується при простому перезавантаженні сторінки, натисненні F5, або при перезавантаженні браузера.

Весь лічильник складатиметься з декількох файлів:

1. index.php – сторінка на якій відбувається виклик лічильника

2. counter.php – скрипт з логічними операціями і функціями читання / запису даних

3. img.php – скрипт побудови зображення

4. stat.txt – файл, що містить статистику


1. Розгляд фрагментів скрипта

index.php

Стандартний файл html-коду, що містить, підключений скрипта лічильника <? php include («counter.php’);?> Також в цьому файлі в самому верху сторінки, до тегів необхідно встановити cookie(куки).

<? php setcookie («freshcoder», «count», time()+(24-date('G'))*3600);?>

Перший атрибут у функції (<? php setcookie) несе ім'я cookie, другий атрибут («freshcoder») – значення, яке привласнене цьому імені, тобто якщо виконати echo $_COOKIE['freshcoder'], браузер виведе слово count. Третій атрибут (time()+(24-date('G'))*3600) встановлює час дії cookie, тобто якщо людина зайшла в 10 ранку, нам необхідно встановити cookie на 14 годин. Час дії указується в секундах.

<html>

<head>
<title> Лічильник </title>

</head>

<body bgcolor= «white» text= «black» link= «blue» vlink= «purple» alink= «red»>

<p> Вітаємо Вас на нашому сайті </p>

<? php @include («counter.php»);?>

</body>

</html>


counter.php

Як захист від накрутки використовується умова перевірки наявності cookie на стороні користувача.

Наприклад людина зайшла на сайт о 10 годині ранку, нам необхідно додати одні відвідини і залишити cookie в браузері цієї людини, які діятимуть до 0.00 годин поточного дня.

Логіка скрипта проста, якщо немає куків у користувача, ми накручуємо лічильник на одиницю і пишемо значення у файл, інакше додаємо хіт.

<? php

$url = «counter/stat.txt»;

if (! file_exists($url)) {

// Якщо файлу нема, створюємо його, і записуємо нульове значення

$count = «0:0»;

$handle = fopen ($url, «a»);

fwrite ($handle,$count);

fclose($handle);

}

else {

// Якщо файл є, то працюємо з ним

$data = file($url); // Відкриваєм його

list ($user,$hit) = explode (»:»,$data[0]); // Розбиваємо масив на змінні

if (!$_COOKIE['freshcoder']) {$user++;$hit++;}

else {$hit++;}

$handle = fopen ($url, «w»); // Відкриваємо файл

$count = $user.»:».$hit; // Формуємо строку

if (flock ($handle, LOCK_EX)) { // Закриваємо файл

fwrite ($handle,$count); // Записуємо її в файл

flock ($handle, LOCK_UN); // Відкриваємо файл

} else {

echo «Повторіть пізніше»;

}

fclose($handle);

}

// Виводимо кількість переглядів.

echo '<img src= «img.php? u='.$user.'&amp; h='.$hit.'» alt= «stat» width=

«80» height= «30» border= «0» />';

?>

img.php

Оскільки функція imagestring(), при побудові запису за початок координат використовує верхній лівий кут, то з часом при збільшенні довжини рядка цифр виникне проблема – частина їх буде виходити за рамки зображення. Для того, щоб цього не відбувалося, існують прості умови, які отримують дані, порівнюють їх, і викликають функцію imagestring() із зміненими координатами. Щоб зрозуміти як це відбувається, переглянемо фрагмент коду:

В якості зображення використовується файл формату gif.

Також в скрипті потрібно додати другий рядок для побудови напису. Даний скрипт отримує дані параметром GET, тому брати дані потрібно з суперглобала $_GET.

img.php? u=’.$user.’&h=’.$hit.’ у цьому рядку ми привласнили змінні $_GET['u'] значення $user, а $_GET['h'] – значення $hit. Це дуже простий спосіб передачі параметрів скрипта. Але такий метод не рекомендується використовувати для передачі пароля, або якихось інших важливих даних.

<? php

// Основа для лічильника

$im = ImageCreateFromGif («bg.gif»);</p>

// Колір тексту

$black = imagecolorallocate ($im, 255,255,255);

// Малюємо кількість відвідувачів

if ($_GET['u']>=1 AND $_GET['u']<10) {

imagestring ($im, 2,69,14,$_GET['u'], $black);

}

if ($_GET['u']>=10 AND $_GET['u']<100) {

imagestring ($im, 2,64,14,$_GET['u'], $black);

}

if ($_GET['u']>=100 AND $_GET['u']<1000) {

imagestring ($im, 2,59,14,$_GET['u'], $black);

}

if ($_GET['u']>=1000 AND $_GET['u']<10000) {

imagestring ($im, 2,54,14,$_GET['u'], $black);

}

if ($_GET['u']>=10000 AND $_GET['u']<100000) {

imagestring ($im, 2,49,14,$_GET['u'], $black);

}

// Малюємо кількість хітів

if ($_GET['h']>=1 AND $_GET['h']<10) {

imagestring ($im, 2,69,3,$_GET['h'], $black);

}

if ($_GET['h']>=10 AND $_GET['h']<100) {

imagestring ($im, 2,64,3,$_GET['h'], $black);

}

if ($_GET['h']>=100 AND $_GET['h']<1000) {

imagestring ($im, 2,59,3,$_GET['h'], $black);

}

if ($_GET['h']>=1000 AND $_GET['h']<10000) {

imagestring ($im, 2,54,3,$_GET['h'], $black);

}

if ($_GET['h']>=10000 AND $_GET['h']<100000) {

imagestring ($im, 2,49,3,$_GET['h'], $black);

}

Header («Content-type: image/gif»);

ImageGif($im);

imagedestroy($im);

?>

2. Вигляд лічильника у браузері

Ось і вийшов лічильник для обліку переходів по сторінках і який вказує реальну кількість відвідувачів.

Похожие работы

  • Автоматизований облік власників автотранспорту

    Порядок та характеристика етапів розробки та апробації програми "водій" для збереження повноти інформування правоохоронних органів, та швидкості її надання. Структура зберігаючих даних. Формування вихідного коду даної програми. Створення головного поля.

  • Теорія множин. Операції над множинами та їх властивості

    Теоретичні основи теорії множин. Основні операції над множинами та їх властивості. Складання програми для обчислення результуючої множини за вихідним і спрощеним виразами. Виконання операцій над множинами, застосування їх властивостей, спрощення виразів.

  • Синтез та дослідження двійково-десяткового лічильника

    Синтезування синхронного двійково-десятковий лічильник, на основі одного тригера D-типу і трьох тригерів JK-типу, які працюють в коді з вагою розрядів 6-2-2-1. Діаграми Вейча для функцій входів тригерів. Моделювання схеми лічильника у середовищі "OrCAD".

  • Проектування печатних плат в P-CAD для Windows

    Основні принципи роботи з програмами PATTED та SYMED. Розстановка на робочому полі створених та стандартних компонентів за допомогою програми Schematic, їх з'єднання проводниками, розташування виводів та отримання схеми печатної плати. Перетворення схеми.

  • Проектування ітераційних алгоритмів

    Використання ітерацій для обчислення приблизних значень величин. Розробка ітераційних алгоритмів з перевіркою правильності введення даних. Побудова блок-схеми і програмування мовою Turbo Pascal обчислення значення функції, розкладеної в степеневий ряд.

  • Робота з пакетом Grapher 2.0 for Windows

    Опис програми Grapher, призначеної для математичної і графічної обробки даних, що описуються одновимірною функцією. Процес побудови графіка. Запис файлу даних мовою програмування Pascal. Моделювання вигляду апроксимаційних кривих та дискретних точок.

  • Розробка програми Sierpins, яка реалізує побудову рекурсивних кривих Серпінського

    Розгляд оригінального візерунку, що складається із суперпозиції чотирьох кривих. Проект реалізації алгоритму побудови цих кривих у вигляді програми функціональною мовою програмування Lisp. Головна особливість кривої Серпінського. Створення програми Serp.

  • Верифікація 3d зображень на основі фотографій

    Розробка та використання програми для пришвидшення процесу перетворення двомірного зображення у об'ємне. Методика та процес випробовування для виявлення та усунення недоліків в роботі програми. Інтерфейс програми, встановлення параметрів зображення.

  • Основи реєстрації інтернет ресурсів в пошукових системах та каталогах

    Принципи та особливості роботи пошукових роботів. Аналіз відмінностей каталогів від пошукових систем. Шляхи та параметри оцінювання обсягів індексації сучасних пошукових систем. Загальні рекомендації щодо додавання сайту до пошукової системи чи каталогу.

  • Лічильники

    Лічильником є послідовностний цифровий автомат, що забезпечує збереження кодового слова і виконання над ним операції рахування, яка полягає у зміні значення числа С у лічильнику на задану константу: мікрооперація С:=С+1 - додаюча, а С:=С-1 - віднімаюча.