Метод GET отправляет закодированную информацию на целевую страницу. Страница и закодированная информация разделяются символом.
http://www.exemple.com/index.php?name1=valeur1& name2=value2
Давайте посмотрим на HTML-форму ниже. В элементе form вы должны указать, как вы будете отправлять информацию на сервер в "method".
< форма action="imprime_infos.php" method="GET">
Имя пользователя: < input type="текст" name="имя" />
Возраст: < input type="текст" name="возраст" />
< input type="submit" value="Submit">
форма>
внутри файла "imprime_infos.php" мы использовали переменную $_GET для сбора полученных значений (имя и возраст).
php
if( $_GET["name"] || $_GET["age"] ) {
echo "Hello". $_GET['имя']. "< br/>";
эхо "У тебя есть". $_GET['возраст']. «лет.»;
}
?>
Выполнив код с сервером WampServer, мы получили приведенный выше результат, информация о котором видна в адресной строке.
- Метод GET создает длинную строку символов, которая появляется в журнале сервера и истории браузера.
- Количество символов, отправляемых с помощью метода GET, ограничено 1024 символами. Поэтому мы не можем отправить длинный текст.
- Никогда не используйте метод GET для отправки конфиденциальной информации, такой как пароль или номер кредитной карты и код.
- GET не может отправлять двоичные данные, такие как изображения и документы, на сервер.
- Доступ к данным, отправленным методом GET, можно получить с помощью переменных окружения QUERY_STRING.
- PHP имеет массив $_GET для доступа ко всей информации, отправляемой с помощью GET.
- GET следует использовать только для получения информации.
POST
Как описано выше, метод GET совсем не безопасен, и поэтому это привело к тому, что PHP-разработчики разработали эффективное решение для отправки информации без ее появления в адресной строке. Кроме того, GET ограничен 1024 символами. Поэтому лучше отправлять данные формы методом POST. Метод POST работает так же, как и метод GET, но он более безопасен, чем GET, потому что значения не видны в адресной строке браузера и не сохраняются в истории браузера.
Чтобы использовать POST, ставим ключевое слово POST вместо GET.
< форма action="imprime_infos.php" method="POST">
Имя пользователя: < input type="текст" name="имя" />
Возраст: < input type="текст" name="возраст" />
< input type="submit" value="Submit">
форма>
А для сбора информации используем переменную $_POST:
php
if( $_POST["name"] || $_POST["age"] ) {
echo "Здравствуйте". $_POST['имя']. "< br/>";
эхо "У тебя есть". $_POST['возраст']. «лет.»;
}
?>
Среда выполнения показывает, что информация не видна в адресной строке:
Преимущества использования метода POST:
- Метод POST не имеет ограничений на размер отправляемых данных.
- Отправленные данные не сохраняются в истории браузера.
- POST можно использовать для отправки двоичных данных.
- Данные, отправляемые методом POST, передаются через HTTP-заголовок, поэтому безопасность зависит от протокола HTTP. Используя безопасный HTTP, вы можете быть уверены, что ваша информация защищена.
- PHP имеет массив $_POST для доступа ко всей информации, отправляемой с помощью метода POST.
Переменная $_REQUEST
Переменная $_REQUEST содержит содержимое $_GET, $_POST и $_COOKIE. $_REQUEST полезно для получения данных в случае, если они поступают из обоих методов $_GET и $_POST.
Попробуйте следующий пример в файле "imprime_infos.php":
php
if( $_REQUEST["name"] || $_REQUEST["age"] ) {
echo "Hello". $_REQUEST['имя']. "< br/>";
эхо "У тебя есть". $_REQUEST['возраст']. «лет.»;
}
?>