Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

PHP продвинутый

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP 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 Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

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


Суперглобальные переменные 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>

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

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

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

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



ПОЛУЧИТЬ или ПОЧТОВАТЬ

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

И 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.php вывести значение из поля «имя»?

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