Учебное пособие: Этапы создания веб-приложения. Основы РНР и MySQL

<head>

<title>Вас приветствует PHP</title>

</head>

<body>

<?

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

echo '< h 1>Привет, < b >' . $_POST['name'] . '</b>!</h1>';

}

?>

<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">

Введите Ваше имя: <input type="text" name="name">

<br>

<input type="submit" name="okbutton" value="OK">

</form>

</body>

</html>

Форма, приведенная в строках 8-12 (выделено цветом), содержит два атрибута: name и okbutton:

1. атрибут method указывает метод отправки формы POST;

2. атрибут action , указывающий URL , на который отправляется форма, заполняется значением серверной переменной PHP_SELF - адресом выполняемого в данный момент скрипта.

<?=$_SERVER['PHP_SELF']?> - сокращенная форма записи для echo: <? echo $_SERVER['PHP_SELF']; ?>.

Если в поле форма name ввести, например, значение Вася , и нажать кнопку OK, то Браузер отправит после этого на сервер POST -запрос. Тело запроса имеет вид: name=Вася&okbutton=OK . PHP при этом автоматически заполнит массив $_POST:

$_POST['name'] = ' Вася '

$_POST['okbutton'] = 'OK'

В действительности, значение "Вася" отправляется браузером в urlencode -виде; для кодировки windows-1251 это значение выглядит как %C2%E0%F1%FF . Но, поскольку PHP автоматически осуществляет необходимое декодирование, мы можем "забыть" об этой особенности - пока не придется работать с HTTP -запросами вручную.


Так как в теле запроса указываются только имена и значения, но не типы элементов форм, PHP понятия не имеет, соответствует $_POST['name'] строке ввода, кнопке, или списку. Но эта информация нам, в общем-то, совершенно не нужна.

Поскольку знать, что написано на кнопке submit , нам необязательно, в строке можно удалить атрибут name , сократив описание кнопки до <input type="submit" value="OK"> ( листинг form _4. php ) . В этом случае, браузер отправит POST -запрос name=Вася .

Листинг form_ 4 .php

<html>

К-во Просмотров: 710
Бесплатно скачать Учебное пособие: Этапы создания веб-приложения. Основы РНР и MySQL