Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / web / example1 / Введение в PHP.doc
Скачиваний:
101
Добавлен:
18.05.2015
Размер:
3 Mб
Скачать

Клиентские методы http get, post, head

Запрос, отправленный от Web-клиента, HTTP-серверу определяет HTTP метод передачи данных клиента. Существуют три основных типа запросов:

GET-запросы. Отправить серверу информацию или получить информацию от источника HTTP - из файла, либо от исполняемой программы на Web-сервере с указанным URL-адресом, можно методом GET.

POST-запросы. Отправить MIME - информацию от клиента Web-серверу, можно методом POST.

По методу GET контент запроса посылается через поля формы или через строку URL, по методу POST – через поля формы. Запросы можно создать и отправить вручную с помощью средств JavaScript, а получить обратно с помощью методов PHP.

HEAD-запросы. Получить информацию о запрошенном URL, но не информацию самого URL, можно используя запрос HEAD.

Обработка html-форм и передача переменных в скрипт.

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

Формой называется конструкция, состоящая из элементов, заключенных между HTML-тэгами <form...> n</form>. В качестве элементов формы могут выступать поля ввода текста, кнопки, выпадающие меню, переключатели, элементы checkbox и radio, а также картинки формата jpg или gif. Каждый элемент формы может иметь свое имя. Кроме этого каждый элемент клиентской формы может пересылаться на сервер и становится доступен серверным программам на PHP.

В программный код, указанный a форме, передадутся значения всех переменных, установленных в этой форме, в частности, значения всех элементов формы, как если бы эти значения были установлены в программе в виде имя=значение.

В старых версиях PHP, для которых в конфигурационном файле - php.ini - параметр register_globals был установлен в on, имена передаваемых переменных в точности соответствовали именам, которые были даны элементам формы, а значения - соответственно значениям этих элементов. Кроме этого, переменные, передаваемые через форму, помещаются в ассоциативные массивы $_POST_ или $_GET. Например, cодержимое поля ввода текста <input type=text name=’myname’ > окажется в элементе $_GET['myname']) или $_POST['myname']). Различие между двумя методами состоит в том, что при передаче данных методом GET эти данные отображаются в адресной строке браузера, а при использовании метода POST - нет. Способ передачи данных через глобальные переменные является основным, поскольку в последних версиях PHP register_globals установлен в off по умолчанию. Ниже показаны обычно используемые суперглобальные переменные PHP: $_GET[], $_POST[], $_REQUEST[], $_COOKIE[], $_FILES[], $_SERVER[], $_ENV[], $_SESSION[].

PHP скрипты используются для обработки на сервере полей форм, которые задаются на клиенте. Форма содержит тэги и атрибуты:

<form name="имя_формы" action="обработчик"

method="GET или POST ">

//поля ввода...

</form>

Обработчик - это PHP - скрипт на сервере, в который будут переданы имена и значения полей ввода. Рассмотрим пример:

<form action="action.php" method="POST">

Ваше имя: <input type="text" name="name" />

Ваш возраст: <input type="text" name="age" />

Пароль:<input type="text" name="password" />

<input type="submit">

</form>

Когда пользователь заполнит форму и нажмет кнопку отправки submit, браузер создает и отправляет запрос, для обработки данных из которого будет вызван обработчик action.php. В этом файле может быть:

<html><body>Здравствуйте, 

<?php

echo $_POST["name"]; 

?>.

Вам <?php echo $_POST["age"]; ?> лет.

Пароль:<?php echo $_POST["password"]; ?> 

</body></html>

Вывод:

Здравствуйте, Егор.Вам 20 лет. Пароль:******

Здесь использован метод отправки данных формы - POST. Переменные $_POST["name"] и $_POST["age"] в PHP будут автоматически установлены в значения из формы. Если бы мы использовали метод GET, то информация нашей формы была бы в суперглобальной переменной $_GET. Также можно использовать переменную $_REQUEST, если источник данных не имеет значения. Эта переменная содержит смесь данных GET, POST, COOKIE и FILE.

Соседние файлы в папке example1