array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'tutorial.forms.php', 1 => 'Работа с формами', ), 'up' => array ( 0 => 'tutorial.php', 1 => 'Простой учебник', ), 'prev' => array ( 0 => 'tutorial.useful.php', 1 => 'Делаем что-нибудь полезное', ), 'next' => array ( 0 => 'tutorial.whatsnext.php', 1 => 'Что дальше?', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'chapters/tutorial.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
Одно из главнейших достоинств PHP - то, как он работает с формами HTML. Здесь основным является то, что каждый элемент формы автоматически становится доступным вашим программам на PHP. Для подробной информации об использовании форм в PHP читайте раздел Переменные из внешних источников. Вот пример формы HTML:
Пример #1 Простейшая форма HTML
<form action="action.php" method="post"> <label for="name">Ваше имя:</label> <input name="name" id="name" type="text"> <label for="age">Ваш возраст:</label> <input name="age" id="age" type="number"> <button type="submit">Submit</button> </form>
В этой форме нет ничего особенного. Это обычная форма HTML без каких-либо специальных тегов. Когда пользователь заполнит форму и нажмёт кнопку отправки, будет вызвана страница action.php. В этом файле может быть что-то вроде:
Пример #2 Выводим данные формы
Здравствуйте, <?php echo htmlspecialchars($_POST['name']); ?>.
Вам <?php echo (int)$_POST['age']; ?> лет.
Пример вывода данной программы:
Здравствуйте, Сергей. Вам 30 лет.
Если не принимать во внимание куски кода с htmlspecialchars() и
(int)
, принцип работы данного кода должен быть прост и понятен.
htmlspecialchars() обеспечивает правильную кодировку "особых"
HTML-символов так, чтобы вредоносный HTML или Javascript не был вставлен на вашу
страницу. Поле age, о котором нам известно, что оно должно быть число, мы можем просто
преобразовать в int,
что автоматически избавит нас от нежелательных символов. PHP также может сделать это
автоматически с помощью модуля filter. Переменные
$_POST['name'] и $_POST['age']
автоматически установлены для вас средствами PHP. Ранее мы использовали
суперглобальную переменную $_SERVER, здесь же мы точно так же
используем суперглобальную переменную $_POST, которая содержит
все POST-данные. Заметим, что метод отправки (method) нашей
формы - POST. Если бы мы использовали метод GET, то
информация нашей формы была бы в суперглобальной переменной
$_GET.
Кроме этого, можно использовать переменную $_REQUEST, если
источник данных не имеет значения. Эта переменная содержит смесь данных GET, POST,
COOKIE.
В PHP можно также работать и с XForms, хотя вы найдёте работу с обычными HTML-формами довольно комфортной уже через некоторое время. Несмотря на то, что работа с XForms не для новичков, они могут показаться вам интересными. В разделе возможностей PHP у нас также есть короткое введение в обработку данных из XForms.