Трансляция полей формы в переменные
Интерпретатор перед запуском сценария сам занимается прямым разбором переменной окружения QUERY_STRING, в которой хранятся параметры сценария. Причем независимо от того, каким методом — GET или POST — воспользовался “браузер”. То есть, РНР сам определяет, какой метод был задействован (информация об этом доступна через переменную окружения REQUEST_METHOD), и получает данные либо из QUERY_STRING, либо из стандартного входного потока. Это крайне удобно в любых CGI-сценариях.
А именно, интерпретатор все данные из полей формы преобразует в глобальные одноименные переменные. В нашем случае значение поля name после начала работы программы будет храниться в переменной $name, а значе¬ние поля age — в переменной $аgе. То есть, не надо ничего ниоткуда “получать” — все уже установлено и распаковано из URL-кодировки.
Окончательный сценарий hello.php сжался до таких размеров (окончательная версия):
echo "Привет, $name!
Я знаю, Вам $аgе лет!” ?>
Теперь его усовершенствуем — сделаем так, чтобы при запуске без параметров сценарий выдавал документ с формой, а при нажатии кнопки — выводил нужный текст. Самый простой способ определить, был ли сценарий запущен без параметров — проверить, существует ли переменная с именем, совпадающим с именем кнопки отправки. Если такая переменная существует, то, очевидно, что пользователь запустил программу, нажав на кнопку. Здесь применим инструкцию if, которая еще не рассматривалась (усовершенствованная версия):
} else {?>
Привет, =$name?>!
Я знаю, Вам =$age?> лет!
}?>
Из этого примера можем почерпнуть еще один удобный прием, который пока не рассматривался. Это конструкция =выражение?>. Она является ничем иным, как просто более коротким обозначением для , и предназначена для того, чтобы вставлять величины прямо в HTML-страницу.
В параметре action тэга
Похожие записи
No user прокомментировали сообщение
Оставить комментарий