PHP $_POST
Суперглобальная переменная $_POST содержит массив переменных, полученных через HTTP-метод POST.
Суперглобальные переменные PHP — это встроенные переменные, которые всегда доступны во всех областях видимости!
$_POST в HTML-формах
HTML-форма отправляет данные через HTTP-метод POST, если атрибут method формы установлен в "post".
Чтобы продемонстрировать это, начнем с создания простой HTML-формы:
HTML файл:
<html>
<body>
<form method="post" action="demo_request.php">
Имя: <input type="text" name="fname">
<input type="submit">
</form>
</body>
</html>
Когда пользователь нажимает кнопку отправки, данные формы отправляются в PHP-файл, указанный в атрибуте action тега <form>.
В PHP-файле мы можем использовать переменную $_POST для получения значения поля ввода.
PHP файл:
$name = htmlspecialchars($_POST['fname']);
echo $name;
Примечание: Всегда проверяйте и очищайте все данные, собранные из суперглобальных переменных, таких как $_POST, перед их использованием, чтобы предотвратить уязвимости безопасности, такие как XSS-атаки. Функция
htmlspecialchars(), использованная выше, — это один из способов сделать это. Более надежную фильтрацию можно выполнить с помощью функций фильтрации PHP.
Объединяем вместе
В приведенном ниже примере мы поместили HTML-форму и PHP-код в один PHP-файл:
Пример
<html>
<body>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
Имя: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_POST['fname']);
if (empty($name)) {
echo "Имя не указано";
} else {
echo $name;
}
}
?>
</body>
</html>
Попробуйте сами »