Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

Реферат

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


План

Вступ

  1.  Розгляд фрагментів скрипта
  2.  Вигляд лічильника у браузері


Вступ

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

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

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

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

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

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

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

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


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

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. Вигляд лічильника у браузері

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




1. ФЭРИВ книгу Русская расовая теория до 1917 года составитель Владимир Авдеев Посмотрите черепа с так
2. И. Семёновская средняя общеобразовательная школа Камышинского муниципального района Волгоградской
3. Розробка і узагальнення інформації про фактори, які впливають на рентабельність молока (на прикладі СТОВ Степове)
4. Лабораторная работа 9 Тема
5. документальнохудожественные
6. темах имеется хотя бы одна координата состояния или управления имеющая дискретный характер.
7. тема учета внешнеторговых потоков- [1
8. планировании безусловным лидером в России является разработка компании ldquo;Expert Systemsrdquo; под названием Project Ex
9. Монголы и татары в нач
10. История государства и права Японии в новое время
11. Хемотроника.html
12. з курсу Основи маркетингу
13. Реферат- Федерико Гарсия Лорка
14. О применимости георадаров в геологии
15. Кубиковой прочностью бетона называют временное сопротивление сжатию бетонных кубов
16. БОЛЬ- ТЕОРИЯ И ПРАКТИКА а также в отборочном этапе Федерального грантового конкурса для научных проектов.
17. задание на 01.10.13 Доделать анализ с урока
18. а назва навчальної дис
19. варианты решения этих проблем [7] Проект
20. ldquo;Телефоны Доверияrdquo; стали неотъемлемой частью активно развивающейся системы социальнопсихологическ