Как сделать post запрос на php
Перейти к содержимому

Как сделать post запрос на php

Как сделать post запрос на php

Одним из основных способов передачи данных веб-сайту является обработка форм. Формы представляют специальные элементы разметки HTML, которые содержат в себе различные элементы ввода — текстовые поля, кнопки и т.д. И с помощью данных форм мы можем ввести некоторые данные и отправить их на сервер. А сервер уже обрабатывает эти данные.

Создание форм состоит из следующих аспектов:

Создание элемента <form><form> в разметке HTML

Установка метода передачи данных. Чаще всего используются методы GET или POST

POST-запросы

Итак, создадим новую форму. Для этого определим новый файл form.php , в которое поместим следующее содержимое:

Атрибут action=»user.php» элемента form указывает, что данные формы будет обрабатывать скрипт user.php , который будет находиться с файлом form.php в одной папке. А атрибут method=»POST» указывает, что в качестве метода передачи данных будет применяться метод POST.

Теперь определим файл user.php , который будет иметь следующее содержание:

Для обработки запросов типа POST в PHP используется встроенная глобальная переменная $_POST . Она представляет ассоциативный массив данных, переданных с помощью метода POST. Используя ключи, мы можем получить отправленные значения. Ключами в этом массиве являются значения атрибутов name у полей ввода формы.

Например, так как атрибут name поля ввода возраста имеет значение age ( <input type=»number» name=»age» /> ), то в массиве $_POST значение этого поля будет представлять ключ «age»: $_POST[«age»]

И поскольку возможны ситуации, когда поле ввода будет не установлено, то в этом случае желательно перед обработкой данных проверять их наличие с помощью функции isset() . И если переменная установлена, то функция isset() возвратит значение true .

Теперь мы можем обратиться к скрипту form.php и ввести в форму какие-нибудь данные:

Обработка форм в PHP

И по нажатию кнопки введенные данные методом POST будут отправлены скрипту user.php :

массив POST в PHP

Необязательно отправлять данные формы другому скрипту, можно данные формы обработать в том же файле формы. Для этого изменим файл form.php следующим образом:

Поскольку в данном случае мы отправляем данные этому же скрипту — то есть по тому же адресу, то у элемента форма можно не устанавливать атрибут action .

Отправка формы в PHP

Стоит отметить, что в принципе мы можем отправлять формы и запросом GET, в этом случае для получения тех же значений формы применяется массив $_GET , который был рассмотрен в прошлой теме:

Как сделать post запрос на php

Место(условно) где будет происходить обработка только два:

Данные будут обработаны:

Либо на этой странице.

Что нужно, чтобы отправить POST запрос!?

Для того, чтобы отправить post запрос потребуется:

Форма, из которой будет отправляться «post запрос».

Скрипт, который получит, обработает и выведет результат(если это требуется.)

Алгоритм отправки POST запроса!?

Алгоритм отправки данных методом post :

Обрабатываем данные отправление методом пост.

Какие данные отправляет метод POST

На живом примере(следующий пункт) разберем, как передаются данные в методом «POST».

Какой тип данных у POST?

Зачем нужно знать, какое тип у данных в методе POST?

Если вы знаете тип данных, то у соответствующих типах есть свои признаки поведения!

Если мы знаем поведение, то можем управлять этими данными.

Тип данных, которые передает метод POST — это массив!

Массив POST — что это?

Пока — вы ничего не отправили методом POST, то в нем ничего нет. Для этого, выведем через var_dump($_POST);

Ниже рассматривается пример отправки методом post и получаем результат. и там же выводим массив «$_POST».

После нажатия на кнопку, вы можете вернуться сюда, и посмотреть, что вернет функция var_dump.

Получение массива POST с примером.

Для этого нам понадобится:

Форма из которой будем отправлять данные. Подробно на форме остановимся ниже.

Чтобы приять данные нужно создать такую запись в php, для вывода массива используем print_r:

Если вы размещаете такую запись внутри html документа, нужно, чтобы html понимал php

Соберем весь код для получения и вывода массива POST

Форма для отправки массива POST

У вас есть два варианта:

Просто нажмите на кнопку отправить и вы получите результат «массива POST».

Либо в полях ввода напишите свою информацию.

И нажимаем отправить!

Форма с методом POST

Разберем подробно из чего должна состоять форма для отправки «запроса POST».

Форма состоит из:

Необходимый атрибут method, который будет указывать тип метода, в нашем случае это «POST».

Атрибут action можем ставить, можем оставить просто пустым — будем обрабатывать запрос post на этой странице!

Поля ввода данных

Переходим к полям ввода данных — это может быть одинарный тег input, либо двойной textarea, далее рассмотрим input — это одинарный тег, у которого закрывающего тега нет:

У тега input должен быть атрибут «type», пусть это будет текстовое поле, поэтому тип будет «https://dwweb.ru/page/html/tags/015_type_text_html.htmtext»:

Далее, чтобы получать из него данные с помощью php нам потребуется атрибут name. Не путать с якорем

Кнопка отправки запроса POST

Для отправки данных можно также использовать input, но и также можно использовать тег button, мы будем использовать

У кнопки отправки есть отдельный тип, который называется submit

Также как и в других input, добавляем сюда type,name,value

Соберем весь код формы для отправки запроса post.

Форму выведем ниже!

Далее нам нужно переданные данные из этой формы обработать!

Как получать данные отправленные методом POST

Приступим к обработке переданных данных, нам нужно условие, по которому будем проверять, отправлен ли «post запрос» — это условие if, после него пишем двойные круглые скобки » () » и помещаем туда название атрибута «name из формы» — рассмотрим это на одном из полей input:

Для данного поля условие получения данных будет таким:

После круглых скобок ставим фигурные » <> » и внутри них, ну, давайте, передадим полученные данные в переменную $login + не забываем про безопасность strip_tags:

Полностью можем собрать получение пост запроса из этого input-a :

Тоже самое делаем со вторым полем ввода:

Мы рассмотрели два поля ввода!

Но ведь у нас есть кнопка отправить!

Для данной кнопки можно составить тоже условие и уже внутрь поместить два условия о которых мы сказали выше.

Это будет проверка на отправку данных, т.е. была ли нажата кнопка submit:

Живой пример отправки данных методом POST

Не будем повторять, что уже было сказано, лишь посмотрим на некоторые изменения, которые я внес в форму, чтобы она работала так, как мне нужно здесь.

Чтобы вы не ходили в поисках результата, нам потребуется вернуться к нашему результату в этом пункте, поэтому нам понадобится якорь

И для вывода переданных данных используем echo, использовали два типа кавычек ‘ и «

Метод POST в PHP как главное средство передачи данных на сервер

Метод POST в PHP как главное средство передачи данных на сервер

От автора: POST сдал – POST принял! Наверное, служившие в армии подумают, что мы будем играть в войнушки. С армией у нас и так все в порядке, а вот с передачей данных в Сети не так все хорошо. Нужно знать, когда использовать метод POST в PHP, а когда GET.

Различия в примерах

Для начала создадим экспериментальную форму, с помощью которой будем тестировать оба метода. Именно формы чаще всего используются для сбора данных и пересылки их на сервер. Разметка простейшей:

Метод POST в PHP как главное средство передачи данных на сервер

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля

О прикладном протоколе HTTP много говорить не буду. Упомяну лишь, что он предоставляет несколько методов для указания того ресурса, к которому направлен запрос. Чаще всего для доставки информации на сервер используются передача методом POST в PHP или GET. Метод передачи прописывается в атрибуте веб-формы method.

Метод POST в PHP как главное средство передачи данных на сервер

Сначала GET, а потом POST

Сначала отправляем данные с помощью GET. Поместите разметку формы и обработчик по разным файлам. Хотя можно обойтись и одним, если не прописывать атрибут action. В этом случае обработка будет происходить в этом же файле.

Метод POST в PHP как главное средство передачи данных на сервер

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля

Как видите, с помощью GET значения переменных передаются в URL. Что плохо, если вы пересылаете на сервер конфиденциальные данные. Теперь пробуем POST. В коде обработчика будет использовать глобальный массив _POST:

Метод POST в PHP как главное средство передачи данных на сервер

Мы убедились, что этот метод передает данные на сервер не через URL, а в теле запроса. Теперь разберемся, как с помощью PHP отправить POST методы.

Без форм

При передаче данных можно обойтись и без веб-форм. Следующий пример иллюстрирует, как достичь такого же эффекта средствами cURL. Думаю, разобраться вам не составит большого труда. Код первого скрипта:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *