это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Реферат
"Статистика на сайті"
План
Вступ
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.'& 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. Вигляд лічильника у браузері
Ось і вийшов лічильник для обліку переходів по сторінках і який вказує реальну кількість відвідувачів.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!