Формы - это элементы HTML страницы, в которые пользователь может вводить данные, например, свое имя, фамилию, возраст, логин и пароль и так далее.

Эти данные затем могут быть получены в PHP и обработаны нужным нам образом.

К примеру, пользователь вводит свое имя и фамилию в форму, нажимает на кнопку отправки и введенные данные уходят на сервер в PHP. Там мы можем получить введенные имя и фамилию и, к примеру, сохранить их в базу данных.

Как сделать форму на HTML

Форма создается с помощью тега form. Этот тег имеет два важных атрибута.

Атрибут action задает адрес страницы сайта, на которую будут отправляться введенные данные. Если оставить этот атрибут пустым - форма отправится на текущую страницу сайта.

Атрибут method задает способ отправки формы. Может принимать значение GET или POST. При отправки методом GET данные из формы будут видны в адресной строке, а при отправке методом POST - не видны.

Имейте ввиду, что PHP код страницы с формой выполнится не один раз, как может показаться, а два раза - первый раз пользователь зайдет на страницу сайта, заполнит форму, нажмет на кнопку отправки, данные из формы отправятся на сервер и PHP код страницы начнет выполнятся сначала.

Поля формы

Внутри тега form можно располагать различные элементы формы: поле ввода input, кнопку отправки формы, многострочное поле ввода textarea и некоторые другие элементы, которые нам пока не нужны.

Пример формы

<form action="" method="GET">
	<input type="text" name="user"><br><br>
	<textarea name="message"></textarea><br><br>
	<input type="submit">
</form>




Как получить данные из формы в PHP

Мы можем получить данные, которые ввел пользователь в форму, в PHP коде. Это делается с помощью глобальных массивов $_GET, $_POST, $_REQUEST.

В $_GET будут лежать данные, отправленные методом GET, в $_POST будут лежать данные, отправленные методом POST, а $_REQUEST - данные, отправленные и тем, и другим методом одновременно.

Как именно это делается: пусть в форме есть инпут с атрибутом name="user". Тогда после отправки этой формы мы можем получить данные из этого инпута таким образом: $_GET['user'] (или $_POST['user'], или $_REQUEST['user']).

Сохраняем значения полей формы после отправки

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

<form action="" method="GET">
	<input type="text" name="user" value="<?php echo $_REQUEST['user']; ?>">
	<input type="submit">
</form>

Пример выше будет генерировать предупреждение PHP при первом заходе на страницу - в случае, когда отправка формы еще не была сделана. Исправим это:

<form action="" method="GET">
	<input name="user" value="<?php if(isset($_REQUEST['user'])) echo $_REQUEST['user']; ?>">
	<input type="submit">
</form>

Дополнительные материалы

Рекомендую посмотреть видео из заочного курса: скачайте его по данной ссылке.