Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

27.4. PHP: Принципы программирования

После изучения функций работы с электронной почтой увас появится множество возможностей вести контроль над операциям, совершаемыми пользователями вашего сайта: когда будет происходить то или иное событие, просто посылайте сообщение себе на почтовый ящик. Это избавит вас прежде всего от бесполезной траты времени за контролем операций, выполняемых пользователями, таких, как регистрация, ввод сообщения в форум, гостевую книгу, ошибка открытия файла, организация обратной связи и т. д. Все эти проблемы контроля вы сможете решить при использовании функции mail().

Главное, на что следует обращать внимание — переменные, например, сообщения, передаваемые на форум, должны соответствовать переменным, которые будут использованы в качестве сообщения посылаемой функции mail(). Другими словами, необходимо четко следить за соответствием имен переменных форме и скрипте. После того как данные будут переданы в функцию mail(), интерпретатор отправит эти данные по адресу, указанному в функции. Вся остальная дополнительная информация является служебной и никакой смысловой нагрузки не несет (имеется в виду именно этот

Если появилась необходимость вести контроль за посетителями сайта, нужно просто создать программу, которая будет это выполнять. Мы будем получать ту информацию о посетителях, которая автоматическидоступна в переменных окружения. Это прежде всего Host, т. е. узел, IP (уникальный номер, приписанный к каждому компьютеру, подключенномук Интернету) и время посещения. Полученную информацию будем просто пересылать к себе на электронный ящик. Этот скрипт является весьма полезным, если количество посетителей вашего сайта не очень большое, в противном случае просто можно заполнить свойящик до отказа.

Таким образом, вы можете вести контроль, например, посещения не только вашей какой-либо конкретной страницы, но и обращения к какой-либо статье или теме на вашей страничке.

Рассмотрим пример:

<?php

if (isset ($HTTP_X_ FORWARDED_FOR)) {

    $host = gethostbyaddr($HTTP_X_FORWARDED_FOR);

}

else {

    $host = gethostbyaddr ($REMOTE_ADDR);

}

$InterP = getenv('REMOTE_ADDR');

$time = date ('d M Y, H: i: s');

$newhastl = gethostbyaddr("$InterP");

$string = (" Дата - $time. Хост - $host, IP-адрес - $InterP ");

mail(name@your_domain_name.com, "Контроль посещений", $string, "From:Удаленный ресурс");

?>

После выполнения данного скрипта вы сможете получить полный перечень необходимой вам информации о посещении пользователем вашего ресурса. Таким образом можно производить и другие операции. Например, в случае возникновения ошибки при открытий файла также можно воспользоваться функцией mail(), чтобы сообщить вам об ошибке. Например:

$file = "new_card.html";

$FilePointer = @fopen($file, "r");

if(!$FilePointer) {

    @mail(yourlogin@your_domain_name.com, "Произошла ошибка!", "На вашем ресурсе произошла ошибка открытия файла $file!");

}

В этом случае при возникновении какой-либо ошибки открытия файла html функция автоматически пошлет сообщение на ваш электронный адрес. Знак @ позволяет обойти сообщение об ошибке, т. е. сама ошибка возникнет, но выполнение программы будет продолжаться далее.

<< Предыдущий параграф Следующий параграф >>
Оглавление