Обучение HTML, Excel, Word. Как сделать свой сайт бесплатно

Microsoft Office

Сайтостроение

HTML

Программинг

Компьютер

Графика

Разное

· Основы Word
· Основы Excel
· Основы VBA
· Основы OpenOffice
· Как сделать сайт
· Свой сайт от А до Я
· Оптимизация сайта
· Шаблоны для сайта
· Обзор CMS
· Основы HTML
· HTML-теги
· Основы CSS
· Основы PHP
· Основы JavaScript
· Софт для сайта
· Что внутри ПК
· ПК для чайников
· Все о BIOS
· Web-графика
· САПР: AutoCAD
· Статьи
· Форум
· SEO-новости
Главная страница Карта сайта
Учебник PHP
Основы SQL
  1. Введение
  2. Инструменты
  3. Первый шаг
  4. Структура языка
  5. Массивы
  6. Глобальные массивы
  7. Cookies
  8. Сессии
  9. Загрузка файлов
  10. Работа с файлами
  11. Работа с базами данных
  12. Работа в сети
  13. Отправка почты
  14. Безопасность
  15. Автоматизация
  16. Регулярные выражения в PHP
  17. Интеграция
 



Отслеживание пользователей

Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

Довольно часто при разработке и сопровождении сайтов возникает необходимость отследить количество посещений отдельных страниц и некоторые параметры посетителей. В этом примере мы сделаем скрипт, автоматически регистрирующий в базе данных IP-адреса и типы браузеров пользователей.


Итак, скрипт перед вами:

<?php
 	$server = 'localhost';
 	$user = 'root';
 	$password = 'root';
 	$database = 'mybase';
 	
	// подключаемся к серверу
	$dblink = mysql_connect($server, $user, $password);
 	
	if(!$dblink)
  		die('Ошибка подключения к серверу:' . 
 				mysql_error($dblink));
 	
	// выбираем базу данных
	if(!mysql_select_db($database))
 		die('Ошибка подключения к базе данных:' .
  				mysql_error($dblink));
 	
	$sessid = session_id();

 	// получаем адрес пользователя
	$ip = isset($_SERVER['REMOTE_ADDR'])?
 			$_SERVER['REMOTE_ADDR']:'';
	
	// получаем описание браузера
	$agent = isset($_SERVER['HTTP_USER_AGENT'])?
 			substr($_SERVER['HTTP_USER_AGENT'], 0, 99):'';

 	// формируем запрос на вставку данных
	$sql = "INSERT user_tracker
  			(session_id, enter_dt, user_ip, user_agent)
 			VALUES ('$sessid', NOW(), '$ip', '$agent')";

	// выполнякм запрос и проверяем результат 	
	$qry = mysql_query($sql, $dblink);
 	if(!$qry)
 	{
 		die('Ошибка выполнения запроса' .
  			mysql_error($dblink));
 	}
	// ничего не выводим, чтобы 
	// не мешать выводу основной страницы
?>

Этот скрипт необходимо сохранить под именем tracker.php и включать первой строкой в код всех страниц, посещение которых вы хотите отслеживать.

<?php include("tracker.php") ?>
<html>
....

Теперь при каждой загрузке страницы в базу данных будет добавляться соответствующая запись о данных пользователя. Но просто просматривать записи - дело утомительное и малоинформативное. Чтобы получить сводную статистику сделаем ещё один скрипт, на этот раз для извлечения и отображения данных.

<?php
 	$server = 'localhost';
 	$user = 'root';
 	$password = 'root';
 	$database = 'mybase';

	// подключаемся к серверу
 	$dblink = mysql_connect($server, $user, $password);

 	if(!$dblink)
  		die('Ошибка подключения к серверу:' . 
 				mysql_error($dblink));

	// выбираем базу данных
 	if(!mysql_select_db($database))
 		die('Ошибка подключения к базе данных:' . 
 				mysql_error($dblink));

	// выбираем необходимые данные с 
	// одновлеменной группировкой
 	$sql = "SELECT user_ip, user_agent, 
					COUNT(user_agent) cnt 	
			FROM user_tracker
			GROUP BY user_ip, user_agent
			ORDER BY user_ip, user_agent";

	// выполняем запрос и проверяем результат 	
	$qry = mysql_query($sql, $dblink);
 	if(!$qry)
 	{
 		die('Ошибка выполнения запроса' . 
 			mysql_error($dblink));
 	}

	// проверяем наличие записей
 	$empty = mysql_num_rows($qry);

	// дальше при помощи PHP-вставок в HTML-код 
	// выводим либо таблицу с записями, 
	// либо сообщение об отсутствии записей
?>
<html>
	<head>
	 	<title>Отчёт</title>
	</head>
<body>
 	<?php if($empty == 0){ ?>
 	 	<h1>Таблица логов пуста</h1>
 	<?php } else { ?>
 		<table border="1">
	 		<tr>
				<td>IP-адрес пользователя</td>
 				<td>Браузер пользователя</td>
 				<td>Количество просмотров</td>
 			</tr>
 		<?php $row = mysql_fetch_assoc($qry); 		while($row){?>
 			<tr>
 				<td>
 			<?php echo $row["user_ip"];?>
 				</td>
 				<td>
 			<?php echo $row["user_agent"];?>
 				</td>
 				<td>
 			<?php echo $row["cnt"];?>
 				</td>
 			</tr>
			<?php $row = mysql_fetch_assoc($qry);?>
 		<?php }?>
		</table>
 		<?php
	 		mysql_free_result($qry);
 			mysql_close($dblink);
 		}?>
 	</body>
</html>

Сохраните это скрипт в файле report.php и можно приступать к тестированию.

Переходим по адресу http://mysite/tracker.php и пару раз обновляем страницу. После этого переходим на страницу отчётов по адресу http://mysite/report.php и видим таблицу, в которой отмечены наш IP-адрес, описание браузера и количество загрузок.

Конечно, в таком виде трекер практически бесполезен, но если добавить учёт имени страницы, учёт предыдущих страниц, даты входа и выхода, то получим вполне работоспособный инструмент для анализа текущей посещаемости сайта и популярности разделов.

 

top




 




Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :)
При копировании материалов, размещенных на сайте, ссылка на первоисточник обязательна.
Если понравился этот сайт..

© 2005-2012
Юрий Кордык All Rights Reserved

 

E-mail:
admin@on-line-teaching.com