Работа с формами в PHP
При передаче данных форма может использовать методы: post или get.
Соответственно, в теге fom атрибут method может принимать значение post или get.
При переддаче по методу post значения переменных формы передаются через массив: $_POST, при методе get - через $_GET.
Переменные HTTP-запроса
Глобальные переменные - $_GET, $_POST, $_REQUEST.
- $_REQUEST -ассоциативный массив (array), который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE
- $_POST - ассоциативный массив переменных, переданных скрипту через HTTP метод POST в (случае использования в запросе метода post)
- $_GET - ассоциативный массив переменных, переданных скрипту через HTTP метод GET в (случае использования в запросе метода get)
Вызов программы из отдельного файла
Пример HTML - странички, котораяй рисует форму:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>Введите данные</h1>
<form action="PHP_16-1Form.php" method="post" target="out">
Имя: <input type="text" name="name" value="Введите Ваше имя"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit" value="Ввод">
<input type="reset" value="Очистить форму">
</form>
<iframe name="out" style="border:none"></iframe>
</body>
</html>
Пример файла, который эта страничка вызывает для обработки данных формы (вывод полученных данных).
<?php
var_dump($_POST);
?>
Размещение программы в том же файле, что и сама форма
Пример:
<!DOCTYPE HTML>
<html>
<meta charset="utf-8">
<head>
</style>
</head>
<body>
<h1>Форма ввода</h1>
<table>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
<tr><td>Имя: </td><td><input type="text" name="name"></td></tr>
<tr><td>Возраст:</td><td> <input type="age" name="name"></td></tr>
<tr><td colspan=2><input type="submit" value="Ввод"> </td></tr>
</form>
</table>
<?php
echo "<h1>Введено:</h1>";
var_dump ($_REQUEST);
?>
</body>
</html>
Проверка введённых данных
Важно предварительно проверять данные, которые форма передаёт в PHP - программу. Заполняемые поля ввода могут содержать некорректные, недопустимые данные. Такая проверка может подсказать и исправить возможные ошибки при вводе данных, предотвратить насанкционированный доступ к сайту и тд..
Для этих целей используются разные методы, например:
- задание типа поля ввода
- использование проверки данных до отправки на сервер (JavaScript)
- использование PHP - фильтров (filter_var() )
- использование шаблонов ввода - регулярных выражений (RegularExpressions )