Метод POST в PHP
Метод состоит из двух частей: HTML c формой и полями и файла-обработчика на PHP.
Если Вы ещё не сталкивались с формами и полями ввода в HTML или хотите освежить знания, то: Урок 9. Работа с формами в html Урок 10. Форма и элементы: флажок, радиокнопка, поле |
Внимание! Для работы нам достаточно создать соответственно всего два файла.
Рассмотрим пример с комментариями - реализация авторизации пользователя на сайте :
Код HTML (файл post.html)
<html>
<head>
<title>Форма</title>
</head>
<body>
<!-- В form в атрибуте name указывается название формы и в будущем массива -->
<!-- В action название файла обработчика -->
<!-- В method указываем способ передачи post -->
<form name = 'myform' action = 'test_reg.php' method = 'post'>
Ваш логин: <input type = 'text' name = 'login' />
Ваш пароль: <input type = 'password' name = 'pass' />
<input type = 'submit' value = 'Войти' />
</form>
</body>
</html>
Теперь подробнее о методах передачи данных. Существует два вида GET (через url, открытый - можно изменить url вручную) и POST (через форму, закрытый). Отличие будет заключаться в содержании адресной строки, то есть url.
При получении данных переданных одним из этих способов в массив соответствующего методу типа ($_GET или $_POST) собираются данные. Также существует массив $_REQUEST, который может содержать и $_GET, и $_POST одновременно. Но это для других примеров. Рекомендую большинство данных передавать методом POST.
Теперь рассмотрим код обработчика.
Код PHP (в файле test_reg.php)
<?php
$login = $_POST['login']; // принимаем данные отправленные POST
$pass = $_POST['pass']; // login и pass - это name полей ввода
if (($login == "Admin") && ($pass == "Pass"))
echo "Здравствуйте, Admin! Сегодня кофе или чай?)";
else echo "Вы ввели неверную связку логин-пароль. Попробуйте ещё <a href='post.html'>Назад</a>";
?>
Вы можете видеть как в отдельные переменные мы записываем значение полей с соответствующими name в массиве $_POST, хотя также можно было собрать и в $_REQUEST.
В обработчике, пожалуй, проработаем условие авторизации - совпадают ли логин и пароль в форме с нашим выдуманным (соответственно Admin и Pass). И либо поздороваемся с входящим (Здравствуйте, Admin! Сегодня кофе или чай?), либо нет (Вы ввели неверную связку логин-пароль. Попробуйте ещё). Однако для создания полноценной авторизации Вам ещё надо ознакомиться с cookie, сессиями и базами данных. Но об этом позже.
Непосредственно в скрипте можно как угодно обрабатывать данные: дописывать, стирать, шифровать и так далее. Главное - это знать имя переменной (задаётся в HTML-форме) и дальше собирать их с помощью массивов $_POST, $_GET и $_REQUEST.
Спасибо за внимание!