Что нужно мужчине post asp method. Использование методов GET и POST

Итак, мы снова продолжаем изучение основ PHP и в этой статье познакомимся со способами передачи переменных в PHP, а именно с методами GET и POST . Каждый из них имеет свои плюсы и минусы, и применяется в соответствующих ситуациях, речь о которых пойдет в данной статье. Мы также рассмотрим примеры кода, которые демонстрируют работу методов POST и GET.

Передача переменных при помощи метода GET

Данный метод передачи переменных применяется в PHP для передачи переменных в файл при помощи адресной строки. То есть переменные передаются сразу через адресную строку браузера. Примером может быть, например, ссылка на статью в WordPress без использования ЧПУ (SEF), которая имеет примерно следующий вид:

Https://сайт/?p=315

То есть в данном случае передается переменная $p со значением 315. Теперь давайте более подробно на примере рассмотрим работу метод GET. Пускай нам нужно передать в файл три переменных $a, $b и $c методом GET и вывести их сумму на экран. Для этого можно использовать следующий код.

$a = $_GET["a"]; $b = $_GET["b"]; $c = $_GET["c"]; $summa = $a + $b + $c; echo "Сумма $a + $b + $c = $summa";

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

Для проверки работы метода GET достаточно просто добавить к ссылке на файл знак вопроса «?» и через амперсанд «&» перечислить переменные с их значениями. Пускай у нас есть файл get.php , который лежит в корне сайта . Для того чтобы передать в файл переменные, достаточно прописать в адресной строке следующее.

Https://сайт/get.php?a=1&b=2&c=3

Как видно с примера, сначала мы добавляем знак вопроса сразу после названия файла. Далее прописываем переменную и через равно указываем ее значение. После этого через амперсанд аналогичным образом перечисляем другие переменные. Теперь при переходе по этой ссылке нам выведется сумма переменных $a, $b и $c.

Данный способ очень простой и не требует создания дополнительных файлов. Все необходимые данные поступают прямо через адресную строку браузера.

Ну а теперь давайте перейдем ко второму способу передачи переменных в PHP – методу POST .

Передача переменных в PHP при помощи метода POST

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

Код первого файла с формой для отправки данных. Дадим ему название post-1.php

  • action – указываем файл, в который будут передаваться переменные.
  • method – метод передачи переменных. В нашем случае это метод POST.
  • name – название формы. Одновременно в файл будет передана переменная с таким именем.

Текстовые поля:

  • name – имена переменных. В нашем случае это имя и фамилия (переменные name и lastname).
  • type – тип поля. В нашем случае это текстовое поле.
  • name – имя кнопки и переменной, которая будет передана вместе с другими переменными.
  • type – тип кнопки. В нашем случае это кнопка для отправки данных.
  • value – текст на кнопке.

Код второго файла, который будет служить приемником переменных. Назовем его post-2.php

$name = $_POST; $lastname = $_POST; echo "Значения переменных, переданных методом POST - $name и $lastname";

Как и с методом GET, мы первым делом присваиваем переменным значения соответствующих элементов глобального массива POST . Далее для наглядности выводим эти переменные на экран при помощи .

Теперь при загрузке первого файла у нас загрузится форма. После введения данных жмем по кнопке «Отправить», в результате чего в новой вкладке у нас откроется страница со вторым файлом, на которой выведутся значения, прописанные в форме на предыдущей странице. То есть второму файлу будут переданы значения переменных с первого файла.

На этом данная статья про передачу переменных в PHP подошла к концу. Если вы не хотите пропустить появления других статей на блоге, рекомендую подписаться на новостную рассылку любым удобным способом в пункте «Подписка» либо воспользоваться формой ниже.

На этом все. Удачи вам и успеха в освоении основ PHP.

Современные веб-ресурсы не просто предоставляют информацию посетителю, но и взаимодействуют с ним. Для взаимодействия с пользователем нужно получать некоторую информацию от него. Для получения данных есть несколько методов, очень распространенные методы GET и POST . И соответственно в PHP есть поддержка этих методов передачи данных GET и POST . Посмотрим, как работают эти методы.
Метод GET Данные методом GET передаются путем их добавления к URL-адресу вызываемого сценария, предназначенного для обработки полученной информации. Для пояснения данного метода наберите в адресной строке браузера URL-адрес ресурса и добавьте сначала знак вопроса (? ), а затем строчку num=10 . Например

http://домен.ru/script.php?num=10


Если у вас локальный сервер, то обычно домен будет localhost , и тогда предыдущая запись будет выглядеть

http://localhost/script.php?num=10


В этом случае мы передаем параметр num равный 10. Для добавления следующих параметров сценарию нужно использовать разделитель - амперсант (& ), например

http://домен.ru/script.php?num=10&type=new&v=text


В данном случае мы передали скрипту три параметра: num со значением 10, type со значением "new " и v со значением "text ".
Для получения этих параметров в скрипте нужно использовать встроенный массив $_GET $_GET["num"], $_GET["type"],$_GET["v"] . Эти элементы массива и будут содержать значения переданных параметров. Для демонстрации этого примера создайте файл script.php следующего содержания



Проверка метода GET в PHP


echo ($_GET["num"]."
");
echo ($_GET["type"]."
");
echo ($_GET["v"]);
?>


И теперь вызовите этот файл в браузере

http://путь/script.php?num=10&type=new&v=text


и вы увидите переданные параметры в окне браузера. Но если вы вызовите этот файл без дополнительных параметров http://путь/script.php , то увидите ошибки, которые выдаст интерпретатор PHP , о том, что таких элементов массива $_GET нет. Проверке данных получаемых от пользователя можно посветить не одну статью, поэтому в этой статье я не буду затрагивать этот момент.
Как вы, наверное, понимаете заставлять пользователя набирать данные в адресной строке браузера не очень хорошо и совсем неудобно. Поэтому для приема данных от пользователя нужно использовать html -формы. Напишем простенькую html -форму.


Введите число

У Вас есть компьютер?

Ваш комментарий:





Немного прокомментирую созданную форму. Формы создаются тегом form . Поля формы создаются тегами input , select , textarea (подробнее можно почитать ). В теге form в атрибуте action указывается URL-адрес скрипта, который получит данные формы. В нашем случае мы указали уже существующий у нас файл script.php . Атрибут method задает метод отправки данных. Мы указали метод GET . Теперь мы знаем, какому файлу будут переданы данные формы, и каким способом, осталось разобраться, где их там искать?!
Данные этой формы будут переданы веб-ресурсу браузером путем добавления их к URL-адресу: сначала будет знак вопроса (? ), затем будут представлены параметры разделенные амперсантом (& ). Название параметра будет браться из атрибута name , которое должно быть прописано у любого поля формы. Значение параметра будет зависеть от типа поля. Если поле является текстовым, то значением будет введенный пользователем текст. Если же поле будет представлять собой список, группу переключателей или флажков, то значением параметра будет значение атрибута value выбранного элемента. Поясню на примере нашей формы. Если пользователь введет в поле input число 10, то названием параметра будет num (значение атрибута name тега input ), а значением будет 10 (введенное пользователем число). Соответственно браузер сформирует пару "num=10 ". Если пользователь из списка выберет вариант "Да", то названием параметра будет type (значение атрибута name тега select ), а значением будет yes (значение атрибута value тега option ). Соответственно браузер сформирует пару "type=yes ".
Теперь эту форму разместим на странице forma.php .



Форма для передачи данных методом GET и PHP



Введите число

У Вас есть компьютер?

Ваш комментарий:







Введите в поля формы какие-либо значения и нажмите кнопку "Отправить". После нажатия кнопки браузер откроет другую страницу (script.php ), и в окне браузера будут отображены данные, которые вы ввели. Я думаю понятно почему: браузер передаст данные сценарию script.php , и в скрипте эти данные будут обработаны и выведены на экран.
Метод POST Теперь давайте рассмотрим, как работает метод POST .
Для отправки данных методом POST нужно использовать HTML -формы. Как мы помним, что за способ отправки данных формы отвечает атрибут method тега form . Поэтому нужно в атрибуте method тега form указать значение POST . В остальном форма может быть та же, как и для метода GET . Изменим нашу форму, которую мы уже использовали для передачи данных способом GET , для передачи методом POST .


Введите число

У Вас есть компьютер?

Ваш комментарий:





Как видите, форма осталась та же за исключением атрибутов method и action . Теперь данные будут передаваться сценарию script_post.php . Поместим нашу форму на странице forma_post.php .



Форма для передачи данных методом POST и PHP



Введите число

У Вас есть компьютер?

Ваш комментарий:







Теперь надо написать сценарий, который будет обрабатывать данные нашей формы.
Для получения в скрипте данных переданным методом POST нужно использовать встроенный массив $_POST . Ключами этого массива будут названия параметров. В нашем случае нужно использовать $_POST["num"], $_POST["type"],$_POST["v"] . Эти элементы массива и будут содержать значения переданных данных. Как видите отличие от использования способа GET , выражается лишь в использовании массива $_POST . Поэтому нам не составит труда написать файл script_post.php :



Проверка метода POST в PHP


echo ($_POST["num"]."
");
echo ($_POST["type"]."
");
echo ($_POST["v"]);
?>


Теперь откройте файл forma_post.php в браузере. Введите какие-нибудь данные в поля формы и нажмите кнопочку "Отправить". Сейчас, наверное, вы заметили отличие метода POST от GET - в адресной строке браузера не появились данные формы. Данные методом POST нельзя передать через адресную строку браузера. Это существенное отличие нужно запомнить.
В PHP в независимости, каким способом были отправлены данные - методом POST или методом GET - получить данные можно используя массив $_REQUEST .Сравнение методов GET и POST При использовании метода GET данные передаются путем добавления к URL-адресу. Таким образом, они будут видны пользователю, что с точки зрения безопасности не всегда хорошо. Также максимальный объем передаваемых данных будет зависеть от браузера - от максимально-допустимого количества символов адресной строке браузера.
При использовании метода POST данные не будут видны пользователю (не отображаются в адресной строке браузера). И поэтому они более защищены, а, следовательно, и программа обрабатывающая эти данные более защищена в плане безопасности. Также объем передаваемых данных практически ни чем не ограничен.
Выбирая способ передачи данных нужно учитывать приведенные особенности и останавливаться на наиболее приемлемом методе.

При разработке любого проекта , одной из самых основных вещей является общение с пользователем. Мы можем что-то у него спрашивать, и давать ему право на ответ (опрос), можем дать ему право написать свое мнение, о товаре или услуге, можем помогать ему посчитать стоимость наших услуг, если необходимо создать интернет магазин , и т.д.

Во всех случаях у пользователя должно быть право что-то написать и на что-то нажать. Для этого и существуют формы.

Работа с формами в PHP и HTML

Формы обозначаются тегом form:

Атрибут method указывает каким методом будет производиться отправка формы. Существуют 2 метода - GET и POST . Подробнее от этом читайте чуть ниже, пока в краце расскажем об основных элементах формы:

Текстовое поле - Input text

Текстовое поле, в которое можно вводить информацию. Атрибут name - имя текстового поля, value - значение. Выглядят вот так:

Кнопка - Input Submit

Кнопка, используется для отправки форм. Выглядит вот так:

Текстовой блок - Textarea

Текстовой блок, обычно используется для написания сообщений большого размера. Атрибут rows, cols - длина и ширина.

Внешний вид:

Подробнее о формах читайте на нашем сайте, или в других источниках. Цель данного урока показать как обрабатывать формы средствами PHP.

Метод GET и POST при отправке форм

Методы GET и POST указываются в атрибуте method формы при ее инициализации:

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

В PHP данные полученные методом GET хранятся в переменной $_GET . Данные переданные методом POST хранятся в переменной $_POST .

Напишем в начале код для работы с методом GET, потом методом POST.

Формы - Дизайн студия OX2.ru

 

print_r($_GET); //Выводим массив функцией print_r
?>

Вашем имя:
Сообщение:

Теперь переделаем скрипт, для отправки данных методом POST.

Формы - Дизайн студия OX2.ru

 

print_r($_POST); //Выводим массив функцией print_r
?>

Вашем имя:
Сообщение:

Чтобы лучше понять работу с формами на PHP , отправку и прием данных методами POST и GET , в следующем уроке сделаем простенькую логическую игру.

При разработке любого проекта, одной из самых основных вещей является общение с пользователем. Мы можем что-то у него спрашивать, и давать ему право на ответ (опрос), можем дать ему право написать свое мнение, о товаре или услуге, можем помогать ему посчитать стоимость наших услуг, если необходимо создать интернет магазин, и т.д.

OX2 2014-10-05 2014-10-05

Сегодня мне немного захотелось ударится в примитивные вещи и описать то, что можно найти во всемирной сети в большом количестве и без особых трудов. Речь пойдет практически о святая святых протокола HTTP: POST и GET запросах.

Многие спросят зачем? Отвечу коротко и ясно: что это и зачем это нужно — знают далеко не все, а те кто хочет узнать об этом (при этом мало что понимая в it сфере) часто не могут понять то что пишут во многих и многих статьях посвященных данной теме. Я же постараюсь на пальцах объяснить что такое POST и GET запросы и с чем их едят.
Итак, начнем наше путешествие в сказку…
Если вы читаете данное сообщение, то Вы как минимум знаете как выглядит Интернет и что такое Интернет сайт. Опустив все тонкости работы всемирной паутины, будем оперироваться такими понятиями как пользователь и сайт. Как ни крути но эти два субъекта должны как-то взаимодействовать друг с другом. Вот люди, например, общаются между собой благодаря жестам, эмоциям и речи, животные издают какие-то звуки, а что же происходит при «общении» человека и Интернет ресурса? Здесь мы имеем случай обмена информацией, который можно перенести и на человеческий разговор плана «Вопрос-Ответ». Причем и вопросы и ответы могут задавать как и пользователь, так и сайт. Когда мы говорим о сайте, то его вопросы и ответы, как правило, всегда выражаются в виде Интернет страницы с тем или иным текстом. Когда же речь идет о пользователе, то тут все происходит благодаря GET и POST запросам (конечно не только, но мы говорим о них).

Таким образом мы выяснили, что объекты нашей темы необходимы для «общения» с сайтами. Причем как и GET, так и POST запросы могут использоваться и для «задания вопросов» сайту и для «ответов». Чем же они отличаются? Все достаточно просто. Однако для объяснения различий, придется рассмотреть пример, в качестве которого возьмем сайт плана Интернет магазин.
Наверное Вы часто обращали внимание, когда искали что-нибудь в онлайн магазинах, что прибегая к поиску по фильтрам, адрес сайта превращался из красивого «http://magaazin.ru» в страшный «http://magaazin.ru/?category=shoes&size=38». Так вот, все что идет после символа ‘?’ и есть Ваш GET запрос сайту, а если быть совсем точным, то в данном случае Вы как бы спрашиваете сайт, о том что у него есть в категории «Обувь» с размеров «38» (данный пример взят из головы, на деле все может выглядеть не так очевидно). В итоге мы имеем что вопросы мы можем задавать сами, путем указания их в строке адреса сайта. Очевидно, что данный метод имеет несколько недостатков. Во-первых, любой кто находится рядом с пользователем за компьютером, может спокойно подсмотреть все данные, поэтому использовать данный вид запросов для передачи паролей крайне не желательно. Во-вторых, есть ограничение на длину строки, которая может быть передана из поля адреса сайта, а значит особо много данных передать не получится. Однако несомненным плюсом использования GET запросов является его простота использования и возможность быстро спрашивать сайт, что особенно бывает полезно при разработке, но это уже другая история…
Теперь поговорим о POST запросах. Догадливые читатели, возможно, смекнули, что главным отличаем данного запроса от его собрата — скрытность передаваемых данных. Если рассматривать Интернет магазин, то ярким примером где используется запрос POST — регистрация на сайте. Сайт спрашивает Ваши данные, Вы эти данные заполняете и при нажатии на кнопку «Регистрация» посылаете свой ответ. Причем никак внешне эти данные не отобразятся. Так же стоит отметить, что запрашивать могут достаточно большое количество информации — а значим ограничений POST запрос не имеет. Ну и если затронуть минус, то такой запрос быстро не сгенерируешь. Без специальных навыков, тут уже не обойтись. Хотя на самом деле все не так уж и сложно, но это опять же — другая история.
Подведем небольшой итог. POST и GET запросы нужны для «общения» пользователя и сайта. Они по сути практически являются противоположностью друг друга. Использование тех или иных видов запросов зависит от конкретной ситуации и пользоваться только одним видом запроса крайне неудобно.

В этом уроке мы рассмотри приемы передачи данных между формами и страницами. Такими методами являются POST и GET. О каждом мы поговорим отдельно и более подробно. Вообще говоря, это нужно для связи между формами. Например мы заполняем какие то поля на странице и нам нужно их передать в другую страницу для обработки.

Метод GET в PHP

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

Страница с примером передачи переменных с помощью Get ссылка

Видите ссылку? Она сложная и состоит из нескольких частей. Давайте разберем все по полочкам:
https://сайт — адрес домена или, как его еще называют, хост.
index.php — страница на php, которая будет обрабатывать запрос.
? — символ разделения между адресом и блоком с переменными.
Далее идут переменные и их значения, которые разделены символом & .
name=Sergey — переменная name и ее значение Sergey.
age=22 — то же самое, переменная age, значение 22.

Все разобрали, теперь посмотрим как это обрабатывается в php, с помощью метода GET.
Страница index.php, как вы помните, мы передавали ей:

Для начала совет: ВСЕГДА проверяйте переменные на правильность: на пустоту, на соответствие допустимых значений и так далее. Так как все передается через адресную строку, то данные можно легко подменить и навредить сайту. Теперь по самому коду: мы, с помощью , проверили переменные name и age на пустоту и, если они не пустые, то вывели их, а если пустые, то просто сообщили об этом.
Все просто, согласитесь? Например вы можете создать html страницу и в менюшке сделать ссылки через переменные, а в index.php обрабатывать переменную и отображать в зависимости от полученного значения ту или иную страницу. Ну об этом мы поговорим позже, в статье про создание сайта на php с нуля. Чтобы ничего не пропустить, советую подписаться на RSS .

Метод POST в PHP

Для демонстрации работы этого метода нам понадобится немного больше, чем простая строчка с адресом:) Нужно будет создать html страницу с формой для заполнения, но ничего, я приведу готовый пример для вас:

Страница с примером передачи переменных с помощью Post

Заполняем поля для передачи информации:

Укажите Ваше имя:

Укажите Ваш возраст:

Итак, мы создали html страничку с простой формой. Запомните, метод POST может использоваться только в форме.
Первый параметр формы — «method», он определяет метод, который мы будем использовать для передачи. Как вы могли догадаться, это либо GET, либо POST. При этом, если установлен GET, то все имена полей (в виде названий переменных), а также их значения, передаются по ссылке, как в разделе про метод GET. Если же установлен POST, то все названия переменных и значения будут передаваться как запрос браузера к веб-серверу. То есть в адресной строке их видно не будет. Во многих случаях это очень полезно. Также POST безопаснее, оно и понятно, ведь переменные с их значениями уже не так просто отредактировать, хотя тоже можно.

Второй параметр формы — «action». Это путь и имя файла скрипта, которому мы передаем данные. В нашем случае это index.php. Этот путь можно передавать и полностью, то есть так: action=«https://my_site.ru/index.php». Если не указать значение параметра «action», то вся информация будет передаваться главному скрипту, то есть индексной странице index.php вашего сайта, что вполне логично.

Теперь получим данные из нашей формы. Раз передавали мы в index.php, значит ниже будет код именно этой страницы:

"; echo "имя - "; echo $_POST["user_name"]; echo "
возраст - "; echo $_POST["age"]; echo " лет"; } else { echo "Переменные не дошли. Проверьте все еще раз."; } ?>

Не забываем проверять на пустоту и допустимые значения. Далее нужно уточнить, почему наши переменные называются именно user_name и age? А вы посмотрите на поля формы, которую мы создавали выше. Видите там input name=«user_name» type=«text» ? Вот здесь параметр name и задает имя переменной, которую мы получим с помощью этого поля. То же самое и с age. Надеюсь понятно. Ну а получение переменной и ее значения через POST почти не отличается от GET, который мы рассмотрели выше.

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

Интернет