Переменная $_POST

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

В этом уроке мы разберемся с суперглобальной переменной $_POST. Она — один из основных способов получать данные от пользователя в PHP. Представь, что у тебя есть форма регистрации, входа или отправки комментария на сайте. Когда пользователь заполняет поля и нажимает "Отправить", браузер отправляет эти данные на сервер. Если форма отправлена методом POST, вся информация попадает в специальный массив — $_POST.

Ключами в этом массиве служат атрибуты `name` полей формы, а значениями — то, что ввел пользователь. В следующих заданиях мы научимся создавать такие формы, правильно считывать из них данные в PHP, проверять, были ли они вообще отправлены, и выводить их. Это базовый навык для создания любого интерактивного веб-сайта, так что давай приступим!

Список тем

Получение данных из $_POST

id: 39030_task1

Представьте, что пользователь отправил форму, в которой было поле с именем `user_login`. Ваша задача — правильно обратиться к этому значению в суперглобальном массиве `$_POST` и вывести его на экран.

Заполните пропуски
<?php
// Предполагается, что форма была отправлена и $_POST['user_login'] = 'admin';
echo $_POST[input1S];
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Связь между формой и скриптом

id: 39030_task2

Чтобы данные формы попали в массив `$_POST`, в HTML-теге `

` нужно указать правильный метод отправки. Дополните код: укажите нужный метод в форме и вставьте его название в проверку на стороне PHP.

Заполните пропуски
<!-- HTML-форма -->
<form action="handler.php" method="input1S">
    <input type="text" name="email">
    <button type="submit">Отправить</button>
</form>

<!-- handler.php -->
<?php
if ($_SERVER['REQUEST_METHOD'] == input2S) {
    echo "Форма отправлена методом POST!";
}
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправьте ошибку доступа к данным

id: 39030_task3

В коде допущена частая ошибка при обращении к элементу ассоциативного массива. Найдите и исправьте ее, чтобы скрипт заработал и вывел отправленный email.

Найдите ошибку и исправьте
<?php
// Представим, что $_POST['email'] содержит 'test@example.com'
echo $_POST[email];
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что выведет скрипт?

id: 39030_task4

Пользователь заполнил форму: в поле `name` он ввел "Alex", а в поле `age` — "30". Затем он нажал кнопку "Отправить". Что в результате появится на экране после выполнения этого PHP-кода? Введите точный результат.

Что должно получиться?
<?php
// $_POST = ['name' => 'Alex', 'age' => '30'];
// $_SERVER['REQUEST_METHOD'] = 'POST';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    echo "Welcome, " . $name;
} else {
    echo "Please, submit the form.";
}
?>
Сообщения
Проверить
Показать подсказку

Сопоставьте поле формы и код для доступа

id: 39030_task5

В левой колонке — поля HTML-формы. В правой — варианты кода на PHP для получения данных из этих полей. Сопоставьте каждому полю правильный код для доступа к его значению после отправки формы.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Поле для ввода имени пользователя <input name="login">
Поле для ввода пароля <input type="password" name="user_pass">
Большое текстовое поле для комментария <textarea name="comment"></textarea>
echo $_POST['user_pass'];
echo $_POST['comment'];
echo $_POST['login'];