Обработка параметров запросов
Веб-программирование в большей части представляет собой как раз обработку различных данных, введенных пользователем — т. е., обработку HTML-форм.
Пожалуй, нет другого такого языка, как PHP, который бы настолько облегчил вам задачу обработки и разбора внешних переменных, т.е. переменных, которые поступили из HTML-форм (из браузера пользователя). Дело в том, что в язык PHP встроены все необходимые возможности, так что вам не придется даже и задумываться над особенностями протокола HTTP и размышлять, как же происходит отправка и прием POST-форм или даже загрузка файлов.Разработчики PHP все предусмотрели.
А теперь попробуем написать сценарий, который принимает в параметрах имя пользователя и его возраст и выводит:
"Привет, <имя>! Вам <возраст> лет!"
То есть нам нужно передать в скрипт 2 параметра: name и age.
Теперь мы напишем скрипт script.php, принимающий два параметра: name и age, а также HTML-документ с формой, которая эти два параметра будет передавать в наш новый скрипт:
<?php
echo "Привет, $_GET['name'] ! Вам $_GET['age'] лет !";
?>
А вот и HTML-документ send.html, с помощью которого мы параметры name и age передадим нашему скрипту:
<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>
Теперь наш скрипт принимает два параметра name и age и выводит в браузер результат формата: "Привет, <имя>! Вам <возраст> лет!".
Обратите внимание на адресную строку браузера после передачи параметров сценарию, она будет выглядить примерно следующим образом (без URL-кодирования кириллицы):
http://localhost/script.php?name=Саша&age=23
В зависимости от установок вашего интерпретатора, существует несколько способов доступа к данным из ваших HTML-форм. Вот несколько примеров:
<?php
// Доступно, начиная с PHP 4.1.0
echo $_GET['username'];
echo $_POST['username'];
echo $_REQUEST['username'];
import_request_variables('p', 'p_');
echo $p_username;
// Доступно, начиная с PHP 3. Начиная с PHP 5.0.0, эти длинные предопределенные
// переменные могут быть отключены директивой register_long_arrays.
echo $HTTP_GET_VARS['username'];
// Доступно, если директива PHP register_globals = on. Начиная
// с PHP 4.2.0, значение по умолчанию register_globals = off.
// Использование/доверие этому методу непредпочтительно.
echo $username;
?>
Смотрите также: Методы передачи данных GET и POST