Как отправить post запрос из браузера: метод пост. Типы HTTP-запросов и философия REST Запросы post get http
31.03.2024
Вы могли заметить, что на большинство сайтов можно лицезреть вот такие адреса:
Http://сайт/index.php?blog=2
Тут, даже не зная php, можно догадаться, что мы обращаемся к файлу index.php
Но то, что идет после знака вопроса, мало кто знает. Все довольно просто: ?blog=2
это объявление глобальной переменной «$_GET["blog"]» с значением «2». Таким образом я в скрипт передаю переменную которая отвечает за вывод информации из базы данных. Давайте напишем небольшой скрипт в котором Вы все наглядно увидите:
Мы используем оператор условий if() в качестве условия стоит вот такая строчка:
Isset($_GET["blog"])
isset() позволяет узнать существует ли переменная которая указана в скобках, то есть условие которое я описал в коде звучит так: Если существует переменная $_GET["blog"] то вывести содержимое этой переменной на экран. Вот что получилось:
Думаю понятно Создается глобальная переменная $_GET
с идентификатором который мы объявили в адресной строке (в данном случае с идентификатором «blog»
)
Теперь хочу пояснить один момент. Предположим нам необходимо объявить две переменные, как это сделать? Первая переменная объявляется после знака вопроса «?» Вторая же переменная объявляется после такого знака «&» (Если честно не знаю что это за знак
), вот пример объявление трех переменных:
Http://сайт/index.php?a=1&b=2&c=3
Вот код вывода:
if(isset($_GET["a"]) AND isset($_GET["b"]) AND isset($_GET["c"])) { echo $_GET["a"]." "; echo $_GET["b"]." "; echo $_GET["c"]." "; } ?>
Условие звучит так:
Если существует глобальная переменная $_GET["a"] и
глобальная переменная $_GET["b"] и
глобальная переменная $_GET["с"] то вывести их на экран
, вот результат:
Формы
Прежде чем мы перейдем к post
запросам, необходимо разобрать, что такое формы? Почему нужно? Потому что глобальная переменная $_POST[""] создается именно через формы. Что такое форма? Это поля для ввода какой-нить информации пользователем. Поля бывают в одну строчку, большие поля, так же бывают радио кнопочки, чек боксы. Разберем все по порядку...
Форма это тег:
У формы есть атрибуты, перечислю самые распространенные:
Давайте создадим форму:
В качестве файла обработчика я поставил файл test.php
так как именно в нем пишу для Вас примеры. Метод отправки я поставил post так как именно этим методам пользуются в 99.9% случаях. Так же я присвоил нашей форме имя — form
Теперь окунемся в мир элементов формы. Первым делом Вы должны понять, что почти все элементы являются тегом отличие лишь в атрибуте type
у этих тегов. Давайте я перечислю используемые элементы форм:
Я уверен, что вы не раз встречали такие поля, так что тут как говорится: «no comments»
Теперь давайте составим небольшую тренировочную анкету, с которой будем работать далее. Наша задача составить небольшую анкетку которая поведает нам имя заполнявшего, пол, из какой он страны, любимый цвет и поле текста где пользователь может добавить что-нить о себе. Вот что у меня получилось:
Если пользователь введет в текстовое поле какой-либо текст и нажмет на кнопку «Отправить», то на сервер будет отправлена переменная text со значением того содержимого, которое ввел пользователь. Эта переменная будет отправлена методом POST.
Если в форме написать так:
В атрибуте method элемента form указывается метод, определяющий способ передачи данных на сервер (get или post). В атрибуте action указывается php файл
, который будет обрабатывать запрос. Если обработчиком должен быть текущий файл, то атрибут action добавлять не нужно. Для всех элементов, чье значение должно быть передано в качестве параметра HTTP запроса следует определить уникальное значение атрибута name . Именно значение атрибута name
будет являться индексом
в массивах $_GET, $_POST или $_REQUEST (смотрите пример выше). Нажатие на кнопку submit
отправляет форму со всеми введенными значениями на сервер.