• Как заработать на сайте
  • Как заработать в интернете
  • Инвестиции в интернете
  • Партнерские программы
  • Рейтинг парт. программ
  • SEO продвижение
  • Вопросы и ответы
  • Термины оптимизатора
  • HTML-уроки
  • Интернет
  • Мои услуги
  • Реклама на сайте
  • Обратная связь
Главная → PHP уроки → Использование методов GET и POST

Использование методов GET и POST

Применение методов GET и POST в PHP трудно переоценить, поскольку эти методы встречаются практически на каждом сайте. Прежде чем изучать ниже описанный материал, советую ознакомится с html тегом <form>. Рассмотрим каждый из этих методов в подробности.


Метод GET

Метод GET использует для передачи данных строку URL. Возможно, Вы обращали внимание на длинные и непонятные URLы. Например: function.php?login=Alex&email=dezyakin. В данном случае данные обрабатываются в function.php. После знака вопроса "?" идет перечисление передаваемых параметров (параметр разделяются знаком "&") со значениями: параметру login присвоено значение Alex, а переменной email значение dezyakin. Данные будут хранится в суперглобальном массиве $_GET. Приведем пример использования метода GET представлен ниже:

<html> <body> <form method="GET"> <!--указание метода GET--> Login: <input type="text" name="login"> E-mail: <input type="text" name="email"> <input type="submit" value="Отправить"> </form> <?php /*С помощью суперглобального массива $_GET выводим принятые значения:*/ echo "<br/>login = ". $_GET['login']; echo "<br/>email = ". $_GET['email']; ?> </body> </html>

Результат выполнения выше описанного кода представлен на рисунке ниже:

Пример применения метода GET

Обратите внимание на то, как мы считываем значения из суперглобального массива $_GET: $_GET['имя_переменной']. В нашем примере имена переменных были объявлены в форме (name=login и name=email).

Совет:
Прежде чем обрабатывать полученные значения советую проверять их на существование через функции isset(имя_переменной) или empty(имя_переменной) - эти функции были рассмотрены в предыдущем уроке 2: переменные в PHP. Например:

<?php //проверка на существование с помощью isset: if isset($_GET['login']) { операторы для обработки login ... } //или же проверить на существование с помощью empty: if empty($_GET['email']) { операторы для обработки email ... } ?>

В форме можно указать имя файла, который будет обрабатывать передаваемые значения. Делается это с помощью атрибута формы action, которому можно присвоить адрес этого файла. По умолчанию этот файл присвоен текущему файлу (т.е. обрабатывается в файле, где и расположена форма). Приведем пример, в котором данные из формы передаются на обработку в файл srcipt.php:

<form method="GET" action="srcipt.php"> Login: <input type="text" name="login"> E-mail: <input type="text" name="email"> <input type="submit" value="Отправить"> </form>


В файле script.php должен содержатся какой-то обработчик информации, иначе информация будет передана в пустую.

Метод GET обладает множеством недостатков:

  • Пользователь видит значения передаваемых параметров;
  • Пользователь может легко подделать передаваемые параметры;
  • Неудобная передача бинарной информации (приходится кодировать в текстовый формат);
  • Объем передаваемых данных ограничен - 8 Кбайт;

Из-за выше перечисленных недостатков метод GET применяется только в тех случаях, когда нужно передать небольшой объем данных, а также эти данные никак не засекречены.


Метод POST

Метод POST отличается от GET тем, что данные передаются в закрытой форме. Существует суперглобальный массив $_POST, из которого можно считывать данные следующим образом: $_POST['имя_переменной']. Например:

<html> <body> <form method="POST"> <!--указание метода POST--> Login: <input type="text" name="login" value="<?php echo $_POST['login'];?>"> E-mail: <input type="text" name="email" value="<?php echo $_POST['email'];?>"> <input type="submit" value="Отправить"> </form> <?php /*С помощью суперглобального массива $_POST выводим принятые значения:*/ echo "<br/>login = ". $_POST['login']; echo "<br/>email = ". $_POST['email']; ?> </body> </html>

Результат выполнения выше описанного кода представлен на рисунке ниже:

Пример применения метода POST

Как видите URL не имеет никакой приписки, но тем не менее данные были получены и выведены.

Примечание:
1) Объем передаваемых значений методом POST по умолчанию ограничен и равен 8 Мбайт. Чтобы увеличить это значение нужно изменить директиву post_max_size в php.ini.

2) В ранних версиях PHP вместо коротких названий суперглобальных массивов $_GET и $_POST использовались более длинные имена: $HTTP_GET_VARS и $HTTP_POST_VARS. По умолчанию они выключены в php 5, но Вы можете их включить в конфигурационном файле php.ini с помощью параметра register_long_arrays. В php 6 версии эти длинные названия будут недоступны.

3) Перед обработкой переменных из $_POST, советую проверять переменные на их наличие, также как это делалось с методом GET.

Следующий четвертый урок будет посвящен: типам данных в php.



Читайте также:
• Операторы цикла (while, do..while, for)
• Как сделать сайт на PHP
• Как сделать меню для сайта на PHP
• Типы данных в php
• Операции над числами в php
• Поразрядные операции в php
• Что такое HTTP. Коды ответов HTTP сервера
• Как добавить PHP код в html файл
• Как добавить кнопку "Наверх" на сайте
• Как сделать форму обратной связи на php с каптчей

← Перейти в каталог php уроков

Основные разделы
  • Главная
  • Партнерские программы
  • Рейтинг партнерских программ
  • Статьи про SEO
  • Термины SEO
  • Описание бирж
  • HTML-уроки и советы
  • CSS-уроки
  • Биткоины
  • PHP-уроки
  • Бинарные опционы
  • Социальные сети
  • Обзоры систем
  • Все про CMS
  • Реклама в интернете
Важно
  • Продвижение сайта
  • Аудит внутренней оптимизации
  • Куплю Ваш сайт
  • Куплю Вашу подпись на форуме
  • Подписаться на рассылку
  • Реклама на сайте
  • Карта сайта
  • Обратная связь
© 2010-2021 - Zarabotat-Na-Sajte.ru