Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование HTML-форм на Web-странице





Одним из средств, позволяющих пользователю взаимодействовать с Web-сервером, являются HTML-формы. С помощью форм Web-дизайнеры существляют сбор отзывов посетителей о работе сайта, организуют прием заказов на приобретение продуктов и решают огромное количество самых разнообразных задач. HTML-формы обеспечивают интерфейс, посредством которого посетители сайта могут взаимодействовать с сервером, администратором сайта или другими посетителями.

В HTML-форме могут находиться следующие элементы управления:

Text Field (Текстовое поле) допускает любой тип текста - алфавитный или числовой. Введенный текст может быть показан как отдельной строкой, так и в несколько строк или в виде скрывающих звездочек (для защиты пароля);

Button (Кнопка) в зависимости от типа, может обеспечивать передачу данных серверу (Submit), очищать форму (Reset) или запускать Javascript-код на исполнение.

Check Box (Флажок) позволяет выбрать несколько вариантов ответов в одной группе настроек.

Radio Button (Переключатель) позволяет сделать только один выбор. Щелчок по такому объекту в группе запрещает выбор всех других вариантов.

List/Menu (Список/Меню) предоставляет пользователям выбор из набора значений. Это может быть раскрывающийся список, или список, который всегда показывает значения в прокручиваемом наборе вариантов и позволяет сделать множественный выбор.

File Field(Поле файла) позволяет пользователям выполнять поиск файлов на их жестких дисках и передавать их в качестве данных формы.

Image Field (Поле изображения) можно использовать вместо кнопки Submit (Отправить).

Hidden Field (Скрытое поле) позволяет сохранять информацию, которая не нужна посетителю, но будет использоваться приложением, которое обрабатывает эту форму.

Jump Menu (Меню перехода) позволяет вам вставлять меню, в котором каждый пункт используется для перехода к другой Web-странице.

Способы отправки данных серверу

У любых элементов управления, размещенных на форме есть свойство Name. Именно это свойство и играет ключевую роль при отправке данных, введенных в форму.



Рассмотрим процесс отправления данных более подробно.

Есть два способа (метода) отправки данных: Get и Post.

Метод Get. При использовании этого метода данные, введенные в форму отправляют в заголовке HTTP-запроса и подкрепляются к URL.

Например,

http://impuls-spb.ru/sendmail.php?name=dima&email=dm@mail.ru

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

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

Далее идут конструкции вида:

name=dima

email=dm_design@mail.ru

name и email - это имена тех элементов управления, которые размещены на форме (эти имена имеют текстовые поля, в которых посетитель вводит свое имя (dima) и e-mail (dm_design@mail.ru)).

Таким образом, сервер получает данные в очень удобном для обработки виде: переменные со значением.

Метод Post.Отличается от метода Get только тем, что данные с формы передаются не в заголовке, а в теле HTTP-запроса и в строке URL мы не видим ничего кроме адреса следующей страницы.

Например,

http://impuls-spb.ru/sendmail.php

Метод Post использовать более предпочтительно, т.к. он скрывает от "посторонних" глаз имена переменных и те данные, которые передаются серверу. Ведь на ручной подмене отправляемых данных основано большинство хакерских атак на сайты.

Язык серверных сценариев PHP

PHP – это язык серверных сценариев (server scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере.

До того, как сервер "отдаст" файл броузеру, его просматривает интерпретатор PHP. Для того, тобы это происходило, файлы, которые подвергаются обработке интерпретатором, должны иметь определенное расширение (обычно это .phtml или .php3, но эти значения можно поменять) и содержать (хотя это не обязательное требование) код для интерпретатора. Перед отправкой страницы PHP-код проигрывается на сервере и брозеру выдается результат в виде опять таки HTML-страницы, которая может сильно отличаться от той, что хранится на сервере. Обычные же страницы, имеющие расширение .html/.htm Web-сервер будет отправлять броузеру без какой-либо обработки.

Основное отличие PHP от CGI-скриптов, написанных на других языках, типа Perl или C – это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP – вы встраиваете свою программу-скрипт в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере<?php и ?>).

PHP называется языком серверных сценариев в отличие от JavaScript/Jscript/VBScript, которые являются языками клиентских сценариев. Это значит, что PHP-скрипт выполняется на сервере, а клиенту передается результат его работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется броузером.

Рассмотрим простой пример. Так выглядит web-страница с элементами php:

<html>
< head>
< title>Пример</title>
< /head>
< body>
< ?php echo "Привет, я PHP-программа!"; ?>
< /body>
< /html>

После выполнения этого скрипта мы получим страничку, в которой будет написано

Привет, я PHP-программа!

Открыв исходный текст данной страницы мы увидим следующее.

< html>
< head>
< title>Example</title>
< /head>
< body>
Привет, я PHP-программа!
< /body>
< /html>

Отправка данных, введенных в форму на e-mail

Отправка данных, введенных в форму, на e-mail

Для отправки данных введенных в форму используется функция mail.

Рассмотрим синтаксис этой функции и особенности ее работы.

mail ($recipient, $subject, $message, $headers)

$recipient - строковая переменная, в которой находится адрес получателя отправляемого письма;

$subject - строковая переменная, в которой находится тема письма;

$message - строковая переменная, в которой находится текст сообщения;

$headers - строковая переменная, в которой может находится служебная информация, например, кодировка отправляемого письма, название почтовой программы, e-mail отправителя и пр. Эта переменная не является обязательной.

Например, мы хотим отправить письмо по адресу dm_mail@mail.ru. Тема письма: "Проверка связи"; текст сообщения: "Ну как? Дошло ли мое письмо".

Простейший php-код, который будет необходимо вставить на страницу, следующий:

<?php
$recipient='dm_mail@mail.ru';
$subject='Проверка связи';
$message='Ну как? Дошло ли письмо?';
mail($recipient, $subject, $message);
?>





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:



©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.