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

PHP Учебник

PHP СТАРТ PHP Интро PHP Установка PHP Синтаксис PHP Комментарии PHP Переменные PHP Echo / Print PHP Типы данных PHP Строки PHP Числа PHP Математика PHP Константы PHP Операторы PHP If...Else...Elseif PHP Switch PHP Циклы PHP Функции PHP Массивы PHP Суперглобальные PHP RegEx

PHP Формы

PHP Обробка формы PHP Проверка формы PHP Обязательные поля формы PHP Форма URL/E-mail PHP Заполнение формы

PHP Расширенный

PHP Дата и время PHP Подключение файлов PHP Обработка файлов PHP Файл открыть/читать PHP Файл создать/записать PHP Файл Загрузить PHP Куки PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Callback функции PHP JSON PHP Исключения

PHP ООП

PHP Что такое ООП PHP классы/объекты PHP Конструктор PHP Деструктор PHP Модификаторы доступа PHP Наследование PHP Константы PHP Абстрактные классы PHP Интерфейсы PHP Трейты PHP Статичные методы PHP Статичные свойства PHP Пространства имён PHP Итерации

MySQL База данных

MySQL База данных MySQL Подключение MySQL Создать БД MySQL Создать таблицы MySQL Вставить данные MySQL Получить последний ID MySQL Вставить несколько записей MySQL Подготовленные инструкции MySQL Выбрать данные MySQL Where MySQL Order By MySQL Удаление данных MySQL Обновление данных MySQL Ограничение данных

PHP XML

PHP XML Парсеры PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Интро AJAX PHP AJAX База данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры PHP Компилятор PHP Викторина PHP Упражнения PHP Сертификат

PHP Справочник

PHP Обзор PHP Массив PHP Календарь PHP Дата PHP Каталог PHP Ошибка PHP Исключение PHP Файловая система PHP Фильтр PHP FTP PHP JSON PHP Ключевые слова PHP Libxml PHP Почта PHP Математика PHP Разное PHP MySQLi PHP Сеть PHP Output Control PHP RegEx PHP SimpleXML PHP Поток PHP Строка PHP Обработка переменных PHP XML Парсер PHP Zip PHP Часовые пояса

PHP. Уроки для начинающих

PHP Обработка форм


PHP Суперглобальные переменные $_GET и $_POST используются для сбора данных формы.


PHP - Простая HTML форма

В приведенном ниже примере показана простая форма HTML с двумя полями ввода и кнопкой отправки:

Пример

<html>
<body>

<form action="welcome.html" 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.html". Данные формы отправляются методом HTTP POST.

Для отображения представленных данных вы можете просто повторить все переменные. "Welcome.html" выглядит так:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

На выходе может быть что-то вроде этого:

Welcome John
Your email address is john.doe@example.com

Тот же результат может быть достигнут с использованием метода HTTP GET:

Пример

<html>
<body>

<form action="welcome_get.html" 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.html" выглядит так:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Код выше довольно прост. Однако самое главное отсутствует. Вам необходимо проверить данные формы, чтобы защитить ваш скрипт от вредоносного кода.

Подумайте о БЕЗОПАСНОСТИ при обработке форм PHP!

Эта страница не содержит проверки формы, она просто показывает, как вы можете отправлять и извлекать данные формы.

Однако на следующих страницах будет показано, как обрабатывать формы PHP с учетом требований безопасности! Надлежащая проверка данных формы важна для защиты вашей формы от хакеров и спамеров!


GET и POST

И GET, и POST создают массив (например, array( key1 => value1, key2 => value2, key3 => value3, ...)). Этот массив содержит пары ключ / значение, где ключи (key) - это имена элементов управления формы, а значения (value) - входные данные пользователя.

И GET, и POST обрабатываются как $_GET и $_POST. Это суперглобальные переменные, что означает, что они всегда доступны, независимо от области видимости, и вы можете получить к ним доступ из любой функции, класса или файла, не делая ничего специально.

$_GET - это массив переменных, переданных в текущий скрипт через параметры URL.

$_POST - это массив переменных, передаваемых текущему скрипту с помощью HTTP-метода POST.


Когда использовать GET?

Информация, отправленная из формы с помощью метода GET, видна всем (все имена и значения переменных отображаются в URL-адресе). GET также имеет ограничения на количество информации для отправки. Ограничение составляет около 2000 символов. Однако, поскольку переменные отображаются в URL-адресе, можно добавить страницу в закладки. Это может быть полезно в некоторых случаях.

GET может использоваться для отправки нечувствительных данных.

Примечание: GET никогда не должен использоваться для отправки паролей или другой конфиденциальной информации!


Когда использовать POST?

Информация, отправляемая из формы методом POST, невидима для других (все имена / значения встроены в тело HTTP-запроса) и не имеет никаких ограничений на количество отправляемой информации.

Кроме того, POST поддерживает расширенные функции, такие как поддержка двоичного ввода из нескольких частей при загрузке файлов на сервер.

Однако, поскольку переменные не отображаются в URL-адресе, невозможно добавить страницу в закладки.

Разработчики предпочитают POST для отправки данных формы.

Далее в учебнике вы узнаете, как можно обрабатывать PHP-формы безопасным способом!


PHP Упражнения

Проверьте себя с помощью упражнений

Упражнение:

Если форма в белом разделе ниже отправлена, как вы можете в welcome.html вывести значение из поля "first name"?

<form action="welcome.html" method="get"> First name: <input type="text" name="fname"> </form>
<html>
<body>
Welcome <?php echo ; ?>
</body>
</html>