GET - POST в PHP

GET - POST в PHP

 Методы GET и POST запросы в PHP

Методы GET и POST служат для отправки данных и обработки запроса от  пользователя.
Вы ввели данные в форму или написали пост, нажали отправить, а передачу выполняет метод get или post в зависимости поставленной задачи.

Отличия метода GET от POST в php.

Метод GET

GET передает параметры запроса в url, которые видны в адресной строке браузера.
GET отправляет ограниченное число символов, в зависимости от браузера до 8кб.
GET не используется для отправки на сервер двоичных данных, изображения или текстовые документы.
Не используйте метод GET, если вам нужно отправить на сервер конфиденциальную информацию, к примеру логин и пароль.
При помощи глобального ассоциативного массива $_GET можно получить доступ ко всем передаваемым данным методом get.

 По умолчанию данные из формы передаются методом get.

Создадим простую форму, получим данные глобальным ассоциативным массивом $_GET
Глобальный массив это встроенный, имя которого не меняется, ассоциативный так как в него мы передаем текстовые ключи из формы, в которых присутствуют данные.
Пишем в форму Имя, Пароль 

Форма 1

<html> <body>
 
<h1> Форма отправки данных GET</h1>
<form method="get"> <!-- создали форму с методом отправки данных гет -->
<input type='text' name='name'> Логин <p><!-- создали поле для ввода Логин --> 
<input type='text' name='pass'> Пароль <p><!-- Создали поле для ввода пароля-->  
<input type="submit" value="Отправить"> кнопка отправки на сервер 
</form> 
<?php
// выводим данные из формы которые переданы методом get, которые&nbsp;получили&nbsp;супер глобальным масивом $_GET, с ключами из формы
echo '<p> Логин : ' . $_GET['name']; // вывели данные по ключу name 
 
   echo '<br> Пароль : ' .$_GET['pass']; // по ключу pass
 
 ?>
 
</body> </html> 

В адресной строке браузера после знака ? мы увидим имена поля и отправленные в эти поля данные, знаком амперсанд & разделяются параметры. параметр_name=значение_Имя&параметр_pass=значение_Пароль

 /forma.php?name=Имя&pass=Пароль

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

Метод POST 

Метод POST передает информацию через HTTP-заголовки.
Метод POST не имеет ограничений по объему отправляемых данных.
Метод POST может использоваться для отправки ASCII, а также двоичных данных.
Данные, отправленные методом POST, проходят через HTTP-заголовок, поэтому их безопасность зависит от протокола HTTP. Используя Secure HTTP, вы можете обеспечить защиту информации.
При помощи ассоциативного массив $_POST можно получить доступ ко всем передаваемым данным методом post. 

Пример.

Перепишем в Форма 1, метод отправки и супер глобальные массивы с GET на POST.

<form method="post"> 
echo '<p> Имя : ' . $_POST['name'];
 
echo '<br> Пароль : ' . $_POST['pass']; 

Удалите из адресной строки знак ?, и все что после него.

Введите данные в форму и вы увидите что в адресной строке ничего нет, а переданные данные отобразились в супер глобальном массиве $_POST.

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

15:15
350
Lit
RSS
Нет комментариев. Ваш будет первым!

Похожий контент

Протоколы HTTP, HTTPS и URI, URL, URN  адреса реруса.По протоколу HTTP или HTT...
 PHP язык с динамической типизацией. В переменной может лежать любой тип, которы...
Работа со строкой в PHP Чаще в Вэб пространстве используется строка-текст.  ...