PHP 5 Обработка форм
Для сбора данных формы используются PHP-глобальные $ _жет и $ _пост.
PHP-Простая HTML-форма
В приведенном ниже примере показана простая HTML-форма с двумя полями ввода и кнопкой Submit:
Пример
<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>
Когда пользователь заполняет форму выше и нажимает кнопку Submit, данные формы отправляются для обработки в файл 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 Html
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>
Приведенный выше код довольно прост. Однако, самое главное не хватает. Необходимо проверить данные формы для защиты сценария от вредоносного кода.
Подумайте безопасности при обработке PHP форм!
Эта страница не содержит никакой проверки формы, она просто показывает, как можно отправлять и извлекать данные формы.
Однако на следующих страницах будет показано, как обрабатывать PHP-формы с учетом безопасности! Правильная проверка данных формы важна для защиты вашей формы от хакеров и спамеров!
Получить VS. Post
Оба Get и POST создать массив (например, Array (ключ = > значение, Key2 = > value2, Key3 = > валуе3,...)). Этот массив содержит пары «ключ-значение», где ключи — это имена элементов управления формы, а значения — входные данные пользователя.
Как Get, так и POST рассматриваются как $ _жет и $ _пост. Это глобальные, что означает, что они всегда доступны, независимо от области видимости-и вы можете получить к ним доступ из любой функции, класс или файл без необходимости делать ничего особенного.
$ _жет-это массив переменных, передаваемых текущему сценарию через параметры URL.
$ _пост-это массив переменных, передаваемых текущему сценарию с помощью метода HTTP POST.
Когда использовать Get?
Информация, отправляемая из формы с методом GET, видна всем (все имена переменных и значения отображаются в URL-адресе). Get также имеет ограничения на объем отправляемой информации. Ограничение составляет около 2000 символов. Однако, поскольку переменные отображаются в URL-адресе, можно закладка страницы. Это может быть полезно в некоторых случаях.
Get может использоваться для отправки не конфиденциальных данных.
Примечание: Get никогда не должны использоваться для отправки паролей или другой конфиденциальной информации!
Когда использовать POST?
Информация, отправляемая из формы с методом POST, невидима для других (все имена и значения внедряются в тело HTTP-запроса) и не имеет ограничений на объем отправляемой информации.
Кроме того, POST поддерживает расширенные функциональные возможности, такие как поддержка многокомпонентного двоичного ввода при загрузке файлов на сервер.
Однако, поскольку переменные не отображаются в URL-адресе, невозможно закладка страницы.
Разработчики предпочитают публикацию для отправки данных формы.
Далее, давайте посмотрим, как мы можем обрабатывать PHP формирует безопасный способ!