PHP суперглобальных переменных $ _GET и $ _POST используются для сбора данных формы.
PHP - Простой HTML-форм
В приведенном ниже примере показывает простую форму HTML с двумя полями ввода и кнопку отправки:
пример
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
Выполнить пример » Когда пользователь заполняет форму выше и нажимает кнопку отправки, данные формы отправляются для обработки в PHP файл с именем "welcome.php" . Формы данные передаются с помощью метода HTTP POST.
Для отображения представленных данных можно было бы просто эхо все переменные. "welcome.php" выглядит следующим образом :
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
Выход может быть что-то вроде этого:
Welcome John
Your email address is [email protected]
Такой же результат также может быть достигнут с помощью метода HTTP GET:
пример
<html>
<body>
<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
Выполнить пример » и "welcome_get.php" выглядит следующим образом :
<html>
<body>
Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>
</body>
</html>
Приведенный выше код довольно прост. Однако, самое главное, не хватает. Вы должны проверить данные формы, чтобы защитить свой скрипт от вредоносного кода.
Подумайте SECURITY при обработке PHP форм!
Эта страница не содержит какую-либо форму проверки, он просто показывает, как вы можете отправить и получить данные формы.
Однако, последующие страницы покажут, как обрабатывать PHP формы с безопасностью в виду! Правильная проверка данных формы важно защитить свою форму от хакеров и спамеров!
GET против POST
Оба GET и POST создания массива (например , array( key => value, key2 => value2, key3 => value3, ...) ). Этот массив содержит пары ключ / значение, в котором ключи являются имена элементов формы и значения являются входные данные от пользователя.
Оба GET и POST рассматриваются как $ _GET и $ _POST. Это Суперглобальные, что означает, что они всегда доступны, независимо от объема - и вы можете получить к ним доступ из любой функции, класса или файла без необходимости делать что-нибудь особенное.
$ _GET массив переменных, передаваемых текущему скрипту через параметры URL.
$ _POST массив переменных, передаваемых текущему скрипту через метод HTTP POST.
Когда использовать GET?
Информация , передаваемая из формы с помощью метода GET видна всем (все имена переменных и значения отображаются в URL). GET также имеет ограничения на объем информации для отправки. Ограничение составляет около 2000 символов. Однако, поскольку переменные отображаются в URL, можно добавить в закладки страницу. Это может быть полезно в некоторых случаях.
GET может использоваться для отправки без конфиденциальных данных.
Note: GET никогда не должны использоваться для отправки паролей или другой конфиденциальной информации!
Когда использовать POST?
Информация , передаваемая из формы с помощью метода POST является невидимым для других (all names/values are embedded within the body of the HTTP request) и не имеет никаких ограничений на количество информации , для отправки.
Кроме того POST поддерживает расширенные функциональные возможности, такие как поддержка нескольких частей двоичный вход при загрузке файлов на сервер.
Однако, поскольку переменные не отображаются в URL, это не представляется возможным в закладки.
Разработчики предпочитают POST для отправки данных формы.
Далее, давайте посмотрим, как мы можем обрабатывать PHP формирует безопасный путь!