Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы.


Информационный Канал Subscribe.Ru

Здравствуйте! Выпуск номер 70
рассылки сайта РНР для всех!

Форум сайта / Сайт автора

Важная информация:

  • Сайт, который представляет всю информацию о нужном для вас хостинге - http://host.virtualbrest.com (от 5 у.е. за год включая панель управления + все, что необходимо для работы сайта + поддержка). Регистрация доменов по низким ценам.

  • Если вас интересует возможность быстрой разработки скриптов и приложений для сети Интернет под ваши нужды, или вам необходима помощь специалиста в поддержке и развитии собственных систем (сайтов, страничек и т.д.), пишите на адрес: virtualphp@tut.by - с темой "разработка".

  • Не сомневаюсь, вы заметили, что материал в рассылке излагается последовательно. Да, это так, я подготовил его уже давно, и сейчас просто выкладываю периодически в сеть в виде рассылки свою книгу. В печатном варианте она вышла давно, а вот в электронном - совсем недавно.

  • По поводу размещения информации в этой рассылке обращайтесь на адрес: virtualphp@tut.by

  • скачать предыдущие выпуски вместе с картинками можно тут

Перед тем, как мы приступим, я поясню ситуацию. Несколько раз рассылка вышла под редакцией другого человека, но теперь мы попробуем вернуться к прерванной теме и продолжить публикации.

Обработка форм

 

Теперь нам предстоит разобраться, как увязать программирование на HTML с скриптами на РНР. На самом деле это еще проще, чем что-либо другое в РНР. Все сделано так, чтобы пользователь чувствовал себя достаточно комфортно и не испытывал проблем, в том числе и при программировании. Каким же образом можно достичь плотного взаимодействия программиста и пользователя?

Посещая сайты, каждый из Вас не раз сталкивался с различными формами и полями для ввода. Некоторые даже пытались разобраться, как все это работает, но непременно натыкались на тот факт, что данные формы нужно как-то и чем-то обработать. Но как!? И главное – чем? Ответ нам уже ясен - с помощью РНР. И именно это мы с Вами сейчас и будем делать...

Для начала давайте сделаем ручками (ими, родимыми, ими) форму для отправки писем на любой адрес, который тоже требуется ввести в форме. На этом примере и разберемся, как все работает:

<form method="POST" action="action.phtml">
<p><input type="text" name="email" size="20">
<br><input type="text" name="name" size="20">
<br><textarea rows="2" name="txt" cols="20"></textarea>
<br><input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2"></p></form>

Запустив этот HTML код в браузере, Вы увидите перед собой небольшую форму с тремя полями для ввода. Особенности этой формы таковы: обработка, которая начнется после нажатия кнопки отправить, будет передана файлу action.phtm. Если надо указать другой путь - воспользуйтесь стандартными методами указания пути. Имя первого поля - email, и туда посетитель будет вводить адрес, куда надо отправить письмо. Второе поле имеет имя name, и оно предназначено для ввода имени того, кто хочет отправить письмо. Можно конечно обойтись и без этого, но для наглядности не помешает. Следующее поле - поле ввода текста сообщения, и оно имеет имя txt. Как видите все имена можно давать так, что бы в последствии не запутаться в них. Наша форма почти готова. Не хватает только эстетического оформления, но это уже дело десятое, можно сделать любые надписи или применить различные стили. Тут Вы можете в полной мере проявить свои творческие способности. А мы теперь перейдем к нашей основной части - обработчику формы, который, как Вы помните, находится у нас в файле action.phtm.

<?php mail($email, $name, $txt, $name); ?>

Все. И опять очень просто. Как Вы, надеюсь, поняли уже, все те имена, которые мы присвоили полям для ввода в нашей форме, перешили точно такими же в скрипт РНР, который указывается в форме как обработчик. Причем значением этих имен (переменных РНР) будет являться то, что посетитель Вашей странички введет в соответствующее поле. Адрес окажется в переменной $email, имя - в $name, а текст - в $txt. Вот и вся наука! Любое имя формы становится переменной в обработчике, написанном на РНР. Метод, которым передаются значения и имена переменных в обработчик, называется POST. Если помните, несколько выше мы познакомились с еще одним методом передачи данных скрипту – GET. Тут Вы можете видеть коренное отличие двух похожих методов. В первом случае (GET) – по ссылке, и во втором (POST) – через форму.

Запомните это как дважды два, и жизнь покажется Вам намного прекрасней!

Отправка почты – второй пример

 

Очень часто хочется знать, что происходит на сайте за время Вашего отсутствия. Конечно, можно периодически проверять форум, гостевую книгу, другие сервисы сайта на предмет новых сообщений, но есть способ лучше! Почему бы ни присылать самому себе сообщение на свой почтовый ящик, когда на сайте происходит то, или иное событие.

Как пример могу предложить такие варианты – регистрация в рассылке, ввод сообщения в форум, гостевую книгу и т.д., ошибка открытия файла, организация обратной связи, опрос мнения читателей о размещенной статье и т.д. и т.п. Способов применить эту возможность РНР – масса, осталось разобраться, как это работает. Как всегда – просто! Синтаксис таков:

 
Mail ( $email, "Введено сообщение", $str, "From: сообщение ");  
 

Конечно, перед этим соответствующие переменные должны быть введены либо вручную, либо с помощью формы (нужно следить за соответствием имен переменных в форме и в скрипте). При выполнении данной команды интерпретатор РНР пошлет письмо с текстом из переменной $str по адресу, указанному в переменной $email. Все остальное – служебная информация, которая может быть в некоторых случаях опущена за ненадобностью.

Для примера рассмотрим систему контроля за посетителями определенных страниц сайта. Такая возможность может понадобиться для анализа посещений определенных статей, страниц и т.д. Нам потребуется информация о посетителе, которая в РНР автоматически доступна через переменные окружения. Эту информацию мы будем отсылать самому себе на почтовый ящик. Только не переусердствуйте – каждое посещение такой страницы вызовет отправку письма, и ящик может оказаться переполненным. Особенно если поток посетителей будет большим.

 
<?php
if (isset ($HTTP_X_FORWARDED_FOR)) 
{ 
$host = gethostbyaddr($HTTP_X_FORWARDED_FOR); 
} else { 
$host = gethostbyaddr($REMOTE_ADDR); } 
 
$ip=getenv('REMOTE_ADDR');
$date=date('d M Y, H:i:s');
$host1=gethostbyaddr("$ip");
 
$str=("
Дата - $date
Хост - $host
IP-адрес - $ip
---------------------");
mail( $email, "статистика", $str, "From:информация");
?>
 

Если Вы разместите на одной из Ваших страниц этот код РНР, информация о посетителе (это дата входа, хост и IP-адрес) будет в Вашем почтовом ящике. Еще можно прислать себе сообщение при возникновении ошибки (например, открытия файла) на сайте:

 
$filename = "data.txt"; 
$fp = @fopen($filename,"r"); 
if ( !$fp ) 
{ 
@mail( $email, "Ошибка!", "Ошибка открытия файла $filename !");
}
 

Как обычно, можно поставить знак @, и если возникнет ошибка при отправке почты, сообщение об этом не будет выведено на экран. А можно просто проверить, ушло письмо или нет:

 

if (@mail( $email, "Тест", $str))

{ … что сделать если письмо ушло … }

else

{ … что делать, если произошла ошибка отправки (не правильные настройки сервера, не доступен ящик, сайт и т.д.)  }

 

Если в переменной $email указать несколько адресов, разделенных пробелами, информация будет разослана по всем указанным адресам. Это открывает простой путь к организации собственной, ни от кого не зависящей системы почтовых рассылок.

 

Наши друзья

http://virtual.brest.by - Виртуальный Брест. Региональный информационно - развлекательный портал города Бреста. Чат, форум, статьи, услуги, объявления, недвижимость, каталог сайтов - это и многое другое ждет Вас на страницах сайта.
http://host.virtualbrest.com - хостинг по самым маленьким ценам - от 3 у.е. за 1 год!
http://204040.com - Интернет-магазин компьютерного салона Успех г. Брест
http://tweak.tut.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевого друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!

автор рассылки Андрей Кухарчик / http://php.virtualbrest.com


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: inet.webbuild.php3programm
Отписаться

В избранное