С помощью форм удобно получать и обрабатывать данные пользователей
Форма создается с помощью конструкции вида:
<pre><form name="namevalue" method="methodvalue" action="actionvalue">
</form>
Здесь атрибут name содержит имя формы, атрибут method может принимать два
значения: get или post, атрибут action содержит url, на который будут передаваться данные.
Значения get и post определяют способ передачи имен переменных и их значений.
При использовании get передача данных происходит в открытом виде (в ссылке), а при использовании post данные скрыты. На практике чаще всего используют post.
Процесс отправки данных формы происходит при нажатии на специальный элемент submit. Разместить этот элемент на форме можно следующим образом:
<input name="namevalue" type="submit" value="label">
где атрибут name содержит имя кнопки, атрибут value содержит текст, который будет отображаться на кнопке
В качестве примера, создадим приложение, которое позволяет вводить имя пользователя и отображать его на html странице.
Создадим два файла: form.php и formaction.php. Файл form.php будет содержать форму, а файл formaction — выполнять обработку данных.
Файл form.php содержит описание формы
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form example 1</title>
</head>
<body>
<form name="form1" method="post" action="formaction.php">
<p><input type="text" name="login" value="Имя пользователя"></p>
<p><input type="submit" name="Submit" value="Вход"></p>
</form>
</body>
</html>
Файл formaction.php содержит
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\
<title>Form example 1</title>
</head>
<body>
<?php
echo "Добро пожаловать!";
?>
</body>
</html>
В результате выполнения файла form.php, получим
При нажатии на кнопку с надписью Вход получим
В данном примере не осуществляется обработка переданных данных.
Модифицируем наш пример так, чтобы после словосочетания Добро пожаловать выводилось имя пользователя, введенное в форме.
В php есть встроенные ассоциативные массивы $_GET, $_POST, $_REQUEST, в которых хранятся переданные данные.
В массиве $_GET хранятся данные, переданные с помощью метода get, массиве $_POST — данные, переданные с помощью метода post, массиве $REQUSET — данные, переданные методами get и post.
Изменим файл formaction.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\
<title>Form example 1</title>
</head>
<body>
<?php
$username = $_POST['login'];
echo "Добро пожаловать, ".$username."!";
?>
</body>
</html>
Здесь в переменную username записываются данные, переданные из элемента формы с именем login, и затем значение этой переменной добавляется после слов «Добро пожаловать». Например, введя в форме имя пользователя User, получим «Добро пожаловать, User».