ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

PHP учебник

PHP HOME PHP Intro PHP Install PHP Syntax PHP Variables PHP Echo / Print PHP Data Types PHP Strings PHP Constants PHP Operators PHP If...Else...Elseif PHP Switch PHP While Loops PHP For Loops PHP Functions PHP Arrays PHP Sorting Arrays PHP Superglobals

PHP Forms

PHP Form Handling PHP Form Validation PHP Form Required PHP Form URL/E-mail PHP Form Complete

PHP Advanced

PHP Arrays Multi PHP Date and Time PHP Include PHP File Handling PHP File Open/Read PHP File Create/Write PHP File Upload PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP Error Handling PHP Exception

MySQL Database

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX RSS Reader AJAX Poll

PHP Examples


PHP Reference

PHP Overview PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones


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 формирует безопасный способ!