Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 09 2016 20:18:04
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Передача и обработка параметров HTTP запросов средствами PHP


В этом и следующих разделах будет кратко рассказано о том, как создавать простейшие веб-приложения с использованием PHP. Того, о чем было рассказано в разделе основ программирования на PHP явно недостаточно, чтобы ваше приложение общалось с пользователем и формировало HTML разметку в зависимости от выполненных им действий или введенных им параметров. А чего не хватает? Не хватает знаний о том, как организовать пользовательский ввод данных и передачу этих данных на сервер. Ну а базовые знания о способах программной обработки полученной на сервере информации у вас уже должны быть.

Методы HTTP запросов и их параметры

Любое динамическое веб-приложение формирует ответ пользователю в соответствии с введенными им параметрами или выполненными действиями на стороне клиента. Обращение к серверу чаще всего сводится к двум видам запросов: с использованием метода GET или метода POST. Пару слов о различиях между двумя этими видами запросов.

Метод GET:
  1. Параметры передаются в заголовке HTTP запроса, поэтому видны в командной строке, и такой запрос может быть сохранен в закладках. Поскольку общая длина заголовка ограничена, то и количество и длина параметров, передаваемых с помощью GET также ограничена.

  2. Считается, что результаты нескольких, выполненных подряд одинаковых запросов GET должны быть одними и теми же.

Метод POST:
  1. Параметры запросов передаются в теле HTTP запроса, поэтому в командной строке их нет. Количество и размер параметров неограничен.

  2. Считается, что результаты нескольких идентичных запросов POST могут возвращать различные значения, поскольку могут изменять свойства целевого объекта.

Метод GET следует использовать для извлечения содержимого информационного ресурса согласно параметрам, когда не требуется вносить изменения в структуры данных целевого ресурса, а запрос (URL) имеет смысл сохранять в закладках. Скорость выполнения метода GET может быть выше аналогичных запросов с использованием метода POST.

Метод POST следует использовать, когда необходимо скрыть из URL передаваемые на сервер параметры. Данный метод также следует использовать в запросах на изменения содержимого целевого ресурса, передавая в параметрах (в теле запроса) описание этих самых изменений.

Общий вид ссылки с параметрами с использованием метода GET выглядит следующим образом:

путь к ресурсу?параметр1=значение1&параметр2=значение2&…

Если у вас нет специальной HTML формы для заполнения параметров, то вы можете отладить работу вашего PHP приложения, передавая тестовые параметры прямо в командной строке браузера, например:

http://codingcraft.ru/php-samples/sql.php?sql=select * from d_staff

Для обращения к параметрам запроса на стороне сервера следует использовать глобальные массивы $_GET и $_POST соответственно. Если вашему приложению все равно, с использованием какого метода к нему обратились, то следует использовать массив $_REQUEST, который объединяет в себе данные массивов $_GET и $_POST, например, так:

$sql = isset($_REQUEST["sql"]) ? $_REQUEST["sql"] : "";

В этом примере программа определяет, был ли передан параметр “sql”: если да, то присваивает соответствующей переменной его значение, и если нет, то присваивает ей пустое значение.

Определение параметров HTTP запроса через HTML форму

Конечно, определять параметры вручную прямо в командной строке браузера не очень удобно. Такой способ подходит для программного выполнения HTTP запросов при общении веб-приложений между собой. Для того чтобы ввести и осуществить первоначальную проверку данных на стороне клиента следует использовать HTML формы и язык программирования JavaScript. Ниже приведен пример простейшей формы, с помощью которой вводится текстовый параметр (значение SQL запроса), который впоследствии передается на сервер в качестве параметра метода POST.

<form method='post' action=’sql.php’ >
 SQL:<br/>
 <textarea name='sql' cols='100' rows='8'></textarea><br/>
 <input type='submit' value='Выполнить'/>
</form>

В атрибуте method элемента form указывается метод, определяющий способ передачи данных на сервер (get или post). В атрибуте action указывается php файл, который будет обрабатывать запрос. Если обработчиком должен быть текущий файл, то атрибут action добавлять не нужно. Для всех элементов, чье значение должно быть передано в качестве параметра HTTP запроса следует определить уникальное значение атрибута name. Именно значение атрибута name будет являться индексом в массивах $_GET, $_POST или $_REQUEST (смотрите пример выше). Нажатие на кнопку submit отправляет форму со всеми введенными значениями на сервер.

Читать далее: Шаблон простого приложения на PHP.



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.