Пример обработки форм
Рассмотрим комплексный пример обработки форм, в которой объединим обработку различных элементов html. Определим следующую форму:
<!DOCTYPE html>
<html>
<head>
<title>hmarketing.ru</title>
<meta charset="utf-8" />
</head>
<body>
<h2>Анкета</h2>
<form action="input.php" method="POST">
<p>Введите имя:<br>
<input type="text" name="firstname" />
</p>
<p>Форма обучения: <br>
<input type="radio" name="eduform" value="очно" />очно <br>
<input type="radio" name="eduform" value="заочно" />заочно
</p>
<p>Требуется общежитие:<br>
<input type="checkbox" name="hostel" />Да
</p>
<p>Выберите курсы: <br>
<select name="courses[]" size="5" multiple="multiple">
<option value="ASP.NET">ASP.NET</option>
<option value="PHP">PHP</option>
<option value="Ruby">RUBY</option>
<option value="Python">Python</option>
<option value="Java">Java</option>
</select>
</p>
<p>Краткий комментарий: <br>
<textarea name="comment" maxlength="200"></textarea>
</p>
<input type="submit" value="Отправить">
</form>
</body>
</html>
Здесь определена простейшая стандартная форма ввода анкетных данных. Теперь определим скрипт input.php
, который будет обрабатывать эту форму:
<?
if(isset($_POST["firstname"]) && isset($_POST["eduform"]) &&
isset($_POST["comment"]) && isset($_POST["courses"])) {
$name = htmlentities($_POST["firstname"]);
$eduform = htmlentities($_POST["eduform"]);
$hostel = "нет";
if(isset($_POST["hostel"])) $hostel = "да";
$comment = htmlentities($_POST["comment"]);
$courses = $_POST["courses"];
$output ="
<html>
<head>
<title>Анкетные данные</title>
</head>
<body>
Вас зовут: $name<br />
Форма обучения: $eduform<br />
Требуется общежитие: $hostel<br />
Выбранные курсы:
<ul>";
foreach($courses as $item)
$output.="<li>" . htmlentities($item) . "</li>";
$output.="</ul></body></html>";
echo $output;
}
else {
echo "Введенные данные некорректны";
}
Откроем страницу с формой, введем все данные:
И отправим форму на сервер: