Учебное пособие: Этапы создания веб-приложения. Основы РНР и MySQL
<br>
<input type="submit" value="OK">
</form>
</body>
</html>
<html>
<body>
<?
if (isset($_GET['name'])) {
echo '<h1>Привет, <b>' . $_GET['name'] . '</b></h1>!';
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>">
Введите Ваше имя : <input type="text" name="name">
<br>
<input type="submit" value="OK">
</form>
</body>
</html>
В строке 11 можно было бы написать <form method="GET">. Но GET - метод по умолчанию.
Браузер отправляет GET -запрос, который равносилен вводу в адресной строке адреса: http://адрес-сайта/имя-скрипта.php?name=Вася:
PHP с GET -формами поступает точно так же, как и с POST -формами, с тем отличием, что заполняет массив $_GET .
Кардинальное же отличие - в строке 7. Поскольку простой ввод адреса в строке браузера является GET- запросом, проверка if ($_SERVER['REQUEST_METHOD'] == 'GET') бессмысленна: все, что в этом случае можно выяснить, что кто-то не отправил на скрипт POST- форму. Поэтому прибегают к конструкции isset() , которая возвращает true , если переменная определена (т.е. ей было присвоено значение), и false - если переменная не определена. Если форма была заполнена - как Вы уже поняли, PHP автоматически присваивает $_GET['name'] соответствующее значение.
Способ проверки с помощью isset() - универсальный, его можно было б?