Внешние переменные PHP. GET и POST запросы и их обработка

CLAY
Оффлайн
Регистрация
25.01.17
Сообщения
763
Реакции
224
Репутация
292
Зачастую скрипты, которые пишут на PHP, требуют вмешательства пользователя. Иногда, нам необходимо принять от пользователя какое-нибудь значение. Очень часто Вы это можете встретить при создании форм авторизации или регистрации. HTTP-протокол позволяет реализовать такую возможность, посредством передачи GET или POST запроса серверу. Расскажу о методах работы с этими запросами поподробнее.

Любой Ваш переход по ссылке на сайте — это GET-запрос к серверу. Для того чтобы передать PHP-скрипту какое-нибудь значение через GET-запрос нужно в запросе указать имя переменной и её значение. Делается это очень просто. Допустим, выполняется скрипт с названием script.php и расположен он на сайте site1.ru. Все GET-переменные запроса определяются после знака “?”.



Перейдя по этой ссылке, Вы передадите серверу значение переменой p1, которое как Вы догадались, будет равно «test». Если нужно передать несколько значений, используйте разделитель переменных «&». Каждая переменная в GET-запросе, отделяется от предыдущей переменной с помощью этого символа. Вот пример передачи нескольких значений:

Как видите этим GET-запросом, мы передадим скрипту script.php значение двух переменных p1 равное test и p2 равное «other». Для того чтобы обратится в скрипте к переданным значениям, используют специально созданный массив $_GET.

Пример кода скрипта script.php

<?php if (isset($_GET[‘p1’]))//Если в запросе передаётся значение переменной p1

{ echo($_GET[‘p1’]);//Выводим это значение

} else { echo(‘Значение переменной не установлено!’);

}

?>

Если Вы пошлёте запрос к такому скрипту такого вида – , скрипт выведет на экран «test». Используют GET-запросы в основном для определения вида динамической страницы, другими словами при определённых значениях посылаемых пользователем через GET-запрос, с помощью PHP формируется определённая Web-страница.

Когда Вам нужно получить от пользователя его личные данные, например логин и пароль при авторизации или любые другие данные, которые необходимо чтобы пользователь ввёл сам, используют POST-запрос.

Работа с POST-запросами немного сложнее, постараюсь объяснить её принцип. Для того чтобы пользователь мог отправить POST-запрос скрипту, необходимо чтобы он заполнил специальную форму. Прочитайте о создании HTML-форм, если не знаете, как это сделать и понимать все тонкости работы с формой. Я приведу пример простой формы:

<html>

<head>

<title>Пример простой формы для отправки POST запроса.</title>

</head>

<body>

<form method=”post” id=”simpleform” action=””>

<input type=”text” name=”p1” id=”p1” value=””>

<input type=”submit” name=”but1” id=”but1” value=” Отправитьформу ”>

</form>

</body>

</html>

Вот такой нехитрый HTML-код, с помощью которого Вы или любой другой пользователь может отправить POST запрос нашему скрипту, в котором может указать значение переменной p1.

Чтобы обратится к переменным, переданным через POST-запрос, используйте массив внешних переменных $_POST. Приведу пример к форме, о которой я говорил выше:

<?php if ($_POST)//Код выполнится в том случае, если послан POST-запрос скрипту.

{ if (isset($_POST[‘p1’]))//Проверка, присвоено ли значение переменной p1.

{ echo(‘<p>Передано значение переменной p1 — ’.$_POST[‘p1’].’</p>’);//Выводим значение переданное через POST-запрос.

}

}

?>

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