Наиболее распространенными методами передачи данных между браузером и сценарием являются GET и POST. Однако вручную задавать строки параметров для сценариев и к тому же URL-кодировать их, согласитесь, довольно утомительно. Давайте посмотрим, что предлагает нам для облегчения жизни HTML.
Мы будем рассматривать метод GET для передачи запросов серверу.
Даже программисту утомительно набирать параметры в URL вручную. Различные ?, &, %... Представьте себе пользователя, которому необходимо это делать... К счастью, существуют удобные возможности языка HTML, которые, конечно, поддерживаются браузерами.
Итак, пусть у нас на сервере в корневом каталоге размещен файл сценария script.php. Этот сценарий распознает 2 параметра: name и age. Где эти параметры задаются, мы пока не решили. При переходе по адресу http://site/script.php он должен отработать и вывести следующую HTML-страницу:
Код: Выделить всё
<html><body>
Привет, name! Вам age лет!
</body></html>
Передача параметров через адресную строку браузера
Давайте попробуем включать параметры прямо в URL, в строку параметров. Таким образом, если запустить в браузере http://site/script.cgi?name=Vasya&age=20 мы получим страницу с нужным результатом:
Код: Выделить всё
<html><body>
Привет, Vasya! Я знаю, Вам 20 лет!
</body></html>
Использование HTML-форм
Как теперь нам сделать, чтобы пользователь мог в удобной форме ввести свое имя и возраст? Очевидно, нам необходимо интерактивное окно, в которое осуществляется ввод наших параметров, причем через браузер.
Итак, нам понадобится обычный HTML-документ (например, с именем form.html и расположенный в корневом каталоге) с элементами диалога — полями ввода текста и кнопкой, при нажатии на которую запустится скрипт script.php. Текст документа form.html:
Код: Выделить всё
<html><body>
<form action="script.php">
Введите имя: <input type=text name="name"><br>
Введите возраст: <input type=text name="age"><br>
<input type=submit value="GO!">
</form>
</body></html>
Как мы знаем, все перекодирования и преобразования, которые нужны для URL-кодирования данных, осуществляются браузером автоматически.
Использование форм позволяет в принципе не нагружать пользователя такой информацией, как имя сценария, его параметры и т. д. Он всегда будет иметь дело только с полями, переключателями и кнопками формы.
Осталось теперь только определиться, как мы можем извлечь $name и $age из строки параметров и обработать их.
Далее мы рассмотрим, каким же образом PHP скрипт принимает параметры запроса и обрабатывает их.
Источник:php.su