Обработка HTML форм с помощью PHP реализовано максимально просто и эффективно. Любой именованный (имеющий свойство name) элемент формы автоматически становится доступным скриптам PHP через переменные окружения $_GET['name'] и $_POST['name']. Первая переменная отвечает за данные передаваемые формой методом GET, а вторая содержит данные передаваемые методом POST. Аргумент соответствует имени элемента формы.
Посмотрим пример HTML формы, которая может быть использована, например, для подписки на новости сайта.
<form action="foo.php" method="post"> <p>Введите Ваше имя: <input type="text" name="username" /> <p>Введите Ваш Email: <input type="text" name="email" /> <p><input type="submit" name="submit" value="Подписаться" /> </form>
Вы вводите имя и адрес электронной почты в текстовые поля и нажимаете кнопку "Подписаться". После этого, вызывается страница foo.php и ей передаются данные формы методом POST. Посмотрим теперь как обрабатываются данные формы в скрипте foo.php.
Результат выполнения скриптам
Уважаемый Карл Маркс!
Ваш адрес электронной почты capital @ karl.marks.de подписан на рассылку новостей сайта.
Как видно из примеров, данные из двух текстовых полей формы с именами username и email передаются на страницу foo.php переменными $_POST['username'] и $_POST['email'].
Для безопасности, рекомендуется провести обработку этих данных с помощью функции htmlspecialchars, которая преобразуется специальные символы HTML (амперсанд, одинарная и двойная кавычки, знаки 'больше чем' и 'меньше чем') в их HTML сущности (например, символ & преобразуется в &). Это делается для того, чтобы избежать ввода данных, которые могли бы нарушить структуру документа.
Замечание. Вы можете передавать данные формы двумя способами: методами GET и POST. Какой из двух способов предпочтителен?