Перейти к основному содержимому

PHP $_POST

$_POST - это суперглобальная переменная PHP, которая используется для сбора данных формы после отправки HTML-формы с method="post".

$_POST также широко используется для передачи переменных.


PHP $_POST при обработке форм

На странице в примере ниже находится форма с одним текстовым полем и кнопкой отправки. При нажатии «Submit» введённое пользователем значение отправляется в файл, указанный в атрибуте action формы. Здесь это сама страница, поэтому один и тот же скрипт и показывает форму, и обрабатывает её. После отправки введённое значение будет находиться в $_POST:

Сбор данных формы с помощью $_POST

Прочитайте с помощью $_POST то, что пользователь ввёл в поле ввода:

Prompt
Напишите PHP-скрипт, который выводит HTML-форму с текстовым полем ввода с именем "name" и кнопкой отправки, используя метод POST. Когда форма отправлена, выведите «Привет», а затем отправленное имя.
Вывод: PHP-скрипт

Разбор примера

HTML-форма выше отправляет данные на текущую страницу методом POST. Это означает, что данные формы доступны в суперглобальном массиве $_POST.

Вот как это работает:

  • Атрибут action имеет значение $_SERVER['PHP_SELF'], поэтому данные формы возвращаются на текущую страницу
  • Атрибут method="post" указывает браузеру отправить данные формы через HTTP POST
  • Элемент $_POST['name'] содержит то, что было введено в поле с name="name"

Примечание: Используйте isset(), чтобы проверить, установлена ли переменная $_POST, прежде чем обращаться к её значению. Это позволяет избежать ошибок при первой загрузке страницы (до отправки формы). Пример получает такую же защиту, сначала проверяя $_SERVER["REQUEST_METHOD"].


$_POST в ссылках

$_POST нельзя использовать для отправки данных через ссылки. Для отправки данных через ссылки используйте $_GET.

Поскольку данные POST не видны в URL, этот способ лучше подходит для отправки конфиденциальных данных, например паролей.