Метод post php пример пост запроса
Метод(method) post в php - это один из двух , наверное самых распространенных методов в php! Попробуем разобраться, что такое метод post, как отправлять post php, нарисуем форму с пост запросом! И конечно же приведем несколько примеров использования post!
Подробно о методе post в php
- Что такое метод POST?
- Тип данных метода "post".
- Форма с методом ->
POST - Как получать данные отправленные методом ->
POST - Пример отправки данных методом ->
POST - Как отправить POST запрос на другую страницу!?
- Получить POST запрос в переменную!?
- Передача переменных между страницами post!?
Что такое метод POST?
Дадим определение, что такое метод "POST"?
Метод "POST" - это способ передачи данных из формы (form) на сервер, где он будет обработан для последующих действий с данными. Например вывод на экран(echo), запись в файл(file_put_contents), запись в базу данных и т.д.
Как обозначается метод отправки данных "POST" в форме?
Обязательное условие для отправки данных из формы с помощью "метода POST" - атрибут method со значением
<form method="post">
</form>
Место обработки данных из метода POST?
Место(условно) где будет происходить обработка только два:
Данные будут обработаны:
Либо на этой странице.
Либо на другой.
За это отвечает атрибут
Если "атрибут
Что нужно, чтобы отправить POST запрос!?
Для того, чтобы отправить post запрос потребуется:
Форма(form), из которой будет отправляться "post запрос".
Скрипт, который получит, обработает и выведет результат(если это требуется.)
Алгоритм отправки POST запроса!?
Алгоритм отправки данных методом post :
Заполняем форму.
Нажимаем отправить.
Обрабатываем данные отправление методом пост.
Какие данные отправляет метод POST
На живом примере(следующий пункт) разберем, как передаются данные в методом "POST".
Какой тип данных у POST?
Зачем нужно знать, какой тип у данных в методе POST?
Если вы знаете тип данных, то у соответствующих типах есть свои признаки поведения!
Если мы знаем поведение, то можем управлять этими данными.
Тип данных, которые передает метод POST - это (массив)!
Тип данных метода "post"?
Тип данных который отправляется и получает методом "POST" - это глобальный (массив) $_POST или же - это одна из глобальных переменных.
Пока - вы ничего не отправили "методом POST", то в нем ничего нет. Для этого, выведем через (var_dump)($_POST);
<?
var_dump($_POST);
?>
Разместим выше приведенный код прямо здесь:
array(0) {
}
Ниже рассматривается пример отправки методом post и получаем результат...и там же выводим массив "$_POST".
После нажатия на кнопку, вы можете вернуться сюда, и посмотреть, что вернет функция (var_dump).
Получение данных методом POST с примером.
Поскольку выше мы говорили, в том числе о типе данных в "методе пост" рассмотрим первый пример отправки, получения и обработки данных "методом post".
Для этого нам понадобится:
Форма из которой будем отправлять данные. Подробно на форме остановимся ниже.
<form method="post" action="">
<input type="text" name="one" value="one"><br>
<input type="text" name="two" value="two"><br>
<input type="text" name="three" value="three"><br>
<input type="submit" name="tosend" value="ОТПРАВИТЬ" /><br>
</form>
Чтобы приять данные нужно создать такую запись в php, для вывода массива используем print_r:
<? if($_POST['tosend']){ print_r ($_POST);} ?>
Если вы размещаете такую запись внутри html документа, нужно, чтобы html понимал php.
Код получения и вывода метода POST
Php:
<? if($_POST['tosend']){ print_r ($_POST);} ?>
Html:
<form method="post" action="">
<input type="text" name="one" value="one"><br>
<input type="text" name="two" value="two"><br>
<input type="text" name="three" value="three"><br>
<input type="submit" name="tosend" value="ОТПРАВИТЬ"><br>
</form>
Форма для отправки "POST метода"
У вас есть два варианта:
Просто нажмите на кнопку отправить и вы получите результат "массива POST".
Либо в полях ввода напишите свою информацию.
И нажимаем отправить!
Форма с методом POST
Разберем подробно из чего должна состоять форма для отправки "запроса POST".
Двойной тег form
Необходимый атрибут method, который будет указывать тип метода, в нашем случае это "POST".
<form method="post"> </form>
Атрибут (action) можем ставить, можем оставить просто пустым - будем обрабатывать запрос post на этой странице!
<form method="post" action="">
Поля ввода данных
Переходим к полям ввода данных - это может быть одинарный тег input, либо двойной {textarea}, далее рассмотрим input - это одинарный тег, у которого закрывающего тега нет:
У тега input должен быть атрибут "type", пусть это будет текстовое поле, поэтому тип будет "text":
<input type="text">
Кнопка отправки запроса POST
Для отправки данных можно также использовать input, но и также можно использовать тег button, мы будем использовать
<input>
У кнопки отправки есть отдельный тип, который называется {submit}
<input type="submit"<
Также как и в других input, добавляем сюда type,name,{value html}
<input type="submit" name="send" value="ОТПРАВИТЬ">
Соберем весь код формы для отправки запроса post.
Добавим еще одно поле с типом (password) - получится полноценная форма типа "авторизации".
<form method="post" action="">
<input type="text" name="login">
<input type="password" name="psw">
<input type="submit" name="send" value="ОТПРАВИТЬ">
</form>
Форму выведем ниже!
Далее нам нужно переданные данные из этой формы обработать!
Как получать данные отправленные методом POST
Форму для отправки "методом POST" мы разобрали выше пунктом и на основе этой формы, приступим к получению данных из неё!
Для того, чтобы получить данные переданные с помощью метода post нам понадобится:
Приступим к обработке переданных данных, нам нужно условие, по которому будем проверять, отправлен ли "post запрос" - это условие (if), после него пишем двойные круглые скобки "
Для данного поля условие получения данных будет таким:
После круглых скобок ставим фигурные "
Полностью можем собрать получение пост запроса из этого input-a :
Тоже самое делаем со вторым полем ввода:
Мы рассмотрели два поля ввода!
Но ведь у нас есть кнопка отправить!
Для данной кнопки можно составить тоже условие и уже внутрь поместить два условия о которых мы сказали выше.
Это будет проверка на отправку данных, т.е. была ли нажата кнопка submit:
<?
if($_POST["submit"])
{
if($_POST["login"]){$login = strip_tags($_POST["login"]);}
if($_POST["psw"]){$pass= strip_tags($_POST["psw"]);}
}
?>
После того, как мы разобрались в форме и способе получения данных "методом post" - перейдем к практическим действиям!
Пример отправки данных методом POST
Не будем повторять, что уже было сказано, лишь посмотрим на некоторые изменения, которые я внес в форму, чтобы она работала так, как мне нужно здесь.
<a name="example"></a>
В форме в атрибуте
<form method="post" action="#example">
И для вывода переданных данных используем echo, использовали два типа кавычек .
echo '<div class="kod"><span style="color: red;">Вы ввели данные: </span><br>
$login = '. strip_tags ( $_POST['login'] ).' <br>
$psw = '. strip_tags ( $_POST['psw'] ).'</div>';
Соберем всю форму и скрипт "метода POST" :
Полный код выше идущей формы с php обработчиком пост запроса!
Php:
<?
if($_POST['send'])
{
echo '<div class="kod"><span style="color: red;">Вы ввели данные: </span><br>
$login = '. strip_tags ( $_POST['login'] ).' <br>
$psw = '. strip_tags ( $_POST['psw'] ).'</div>';
}
?>
Html:
<a name="example"></a>
<form method="post" action="">
<input type="text" name="login"><br>
<input type="password" name="psw" ><br>
<input type="submit" name="send" value="ОТПРАВИТЬ" /><br>
</form>
Пример для "метода POST" :
Чтобы увидеть работу "метода POST", введите какие-то данные в поля ввода и нажмите отправить:
Как отправить POST запрос на другую страницу!?
Первое! Откройте страницу и посмотрите, что там написано!
Теперь наберите текст и отправьте данные... методом post на другую страницу:
Как работает отправка post запроса на другую страницу!?
Для того, чтобы отправить "данные" с помощью "метода post запроса на другую страницу" вам понадобится:
Тег form.
В
Естественно указываем
Форма для отправки post метода на другую страницу!?
<form method="post" action="https://jsphp.ru/example/post/method_post.php">
<input type="text" name="send_var" required>
<input type="submit" name="send_2" value="ОТПРАВИТЬ">
</form>
Код страницы для приема post метода
На странице для приема данных переданных через post делаем все абсолютно аналогично, что и выше было рассказано! Создаем условия и проверяем были ли переданы данные методом post!
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Пример страницы для приема пост запроса</title>
</head>
<body>
<?
if($_POST['send_2'])
{
echo '<div class="kod"><span style="color: red;">Вы отправили данные: </span><br>
echo strip_tags ( $_POST['send_var'] );
}
else
{
echo 'Вы здесь ничего не увидите, пока не отправить пост запрос со страницы <a href="#paragraph_post_zapros_na_druguyu_stranitsu">со страницы</a>';
}
?>
</body>
</html>
Получить POST метода в переменную!?
Для того, чтобы получить "POST запрос" в переменную, вам понадобится:
По условию, внутри условия присваиваем переменной полученные данные.
Форма с передачей POST запроса" в переменную.
Чуть-чуть изменим выше приведенную форму и у нас получится, что мы передали "POST запрос" в переменную!
Если вы её(переменную) не нашли, то это
<?
if($_POST['send'])
{
$var = '<div class="kod"><span style="color: red;">Вы ввели данные: </span><br>
$login = '. strip_tags ( $_POST['login'] ).' <br>
$psw = '. strip_tags ( $_POST['psw'] ).'</div>';
}
echo $var;
?>
<form method="post" action="">
<input type="text" name="login"><br>
<input type="password" name="psw" ><br>
<input type="submit" name="send" value="ОТПРАВИТЬ" /><br>
</form>
Передача переменных между страницами post
Это тоже самое, что мы уже рассматривали , только поисковый запрос отличается!
Для того, чтобы передать переменную с одной страницы на другую с помощью post, нужно:
в форме в атрибуте
Открываем страницу "example.php", и создаем те условия, которые мы уже неоднократно показывали!:
if($_POST["psw"]){$var = strip_tags($_POST["psw"]);}
У вас должно получиться, что-то в виде этого:
Код передачи "методом Post" переменных между страницами.
Если нужно вывести переменную "$var" на экран, то воспользуйтесь функцией echo
Php:
<?
if($_POST["psw"]){$var = strip_tags($_POST["psw"]);}
echo $var;
?>
Html :
<form method="post" action="example.php">
<input type="text" name="login"><br>
<input type="password" name="psw" ><br>
<input type="submit" name="send" value="ОТПРАВИТЬ" /><br>
</form>
