Создание web-форм
Прежде чем приступить к обработке данных в PHP-скрипте, необходимо создать web-форму, где их можно было бы ввести. Для этого используется HTML-тег <FORM>. Он имеет следующие атрибуты:
- ACTION. Атрибут задает URL скрипта, который будет обрабатывать данные, введенные в форме. Если атрибут не задан, то по умолчанию обработчиком будет назначен текущий скрипт или документ.
- METHOD. Определяет способ передачи данных скрипту-обработчику. Если используется метод GET (он же является умолчанием), то все поля, описанные в форме, передаются в строке URL в следующем виде: URL?name=value&name=value. При использовании метода POST поля формы кодируются таким же образом, но передаются через скрытые переменные, не используя строку URL. Метод POST обычно используется при передаче большого объема данных или если необходимо скрыть от пользователя передаваемый набор полей.
- TARGET. Задает имя фрейма, в котором будут отображен результат выполнения обработчика формы.
Например, требуется обработать данные, вводимые пользователем на странице phpreader.html, при помощи скрипта phpreader.php, расположенного в том же каталоге. В данном случае атрибуту ACTION присваивается значение "phpreader.php" (если бы скрипт-обработчик находится в другом каталоге или даже на другом сайте, то следовало бы указать относительный или абсолютный путь к нему, например, http://samplecode.ru/php/phpreader.php). Пример такой формы приведен ниже.
<HTML> <HEAD> <TITLE>Пример HTML-формы</TITLE> </HEAD> <BODY> <H1>Пример HTML-формы</H1> <FORM METHOD="POST" ACTION="phpreader.php"> </FORM> </BODY> </HTML>
Теперь следует наполнить форму полями, например выключателями, переключателями или текстовыми полями. После того как пользователь внесет все необходимые данные и нажмет кнопку «Отправить», будет запущен скрипт phpreader.php, и все данные будут переданы ему. Для отправки предназначен специальный тип кнопки, как показано на примере ниже:
<HTML> <HEAD> <TITLE>Пример HTML</TITLE> </HEAD> <BODY> <H1>Пример POST-формы</H1> <FORM METHOD="POST" ACTION="phpreader.php"> <INPUT TYPE ="SUBMIT" VALUE="OK"> </FORM> </BODY> </HTML>
Выделенный жирным шрифтом тег отображает кнопку с надписью «ОК», предназначенную для отправки данных. Надпись на кнопке может быть произвольной и задается атрибутом VALUE, например:
<INPUT TYPE ="SUBMIT" VALUE="Зарегистрироваться">
Обычно рядом с кнопкой «Отправить» располагается кнопка «Сброс» для удаления всех данных, введенных в форму (или для установки их в значения по умолчанию). Ниже приведен пример такой кнопки (как и в предыдущем случае, надпись на кнопке может быть произвольной):
<FORM METHOD="POST" ACTION="phpreader.php"> <INPUT TYPE ="SUBMIT" VALUE="OK"> <INPUT TYPE ="RESET" VALUE="Стереть"> </FORM>
Каким же образом обратиться к данным, переданным из формы скрипту? Если используется метод POST, для этого используется массив $_POST. Для метода GET используется массив $_GET. Оба этих массива являются суперглобальными, что означает, что они доступны в любой функции без необходимости применения оператора global. Еще один суперглобальный массив $_REQUEST содержит объединение данных из $_GET и $_POST и может использоваться в тех случаях, когда скрипт может вызываться различными способами.
Автор: Стивен Хольцнер. Переводчик: С. Банников