Формы, данные и PHP

php скрипты

Настало время обратиться к формам. На различных сайтах Вам, наверное, часто приходилось заполнять различные формы при регистрации, при посылке писем через веб-интерфейс, участвуя во всевозможных интернет-опросах, заполняя строку поиска в поисковых системах. Так вот поля, в которые Вам приходилось вводить ту или иную информацию, принадлежат к различным частям форм.

В html-коде форма записывается при помощи тега

<FORM name="formName" action="script.name" method="POST | GET"
enctype="application/x-www-form-urlencoded | multipart/form-data">

Здесь записываются поля формы.

</FORM>

«name» - уникальное имя формы, «action» - путь к скрипту обабатывающему данные формы, «method» - метод передачи данных (GET - через строку браузера, POST - в теле запроса браузера). Методом POST можно передавать больший объем информации. По умолчанию устанавливается метод GET. «enctype» - устанавливает MIME-тип для данных передающихся вместе с формой. Обычно не пишется, однако необходимо установить тип «multipart/form-data», если через форму передается файл. Внутри формы записываются поля формы. Поля формы бывают текстовыми (в такие поля обычно вводится строка текстовых данных):

<INPUT type="text" name="textName" value="DefaultValue">

Здесь «value» - значение поля формы, которое будет отображаться при загрузке формы (можно оставлять пустым). Поля формы бывают списками (такие поля содержат списки значений, которые можно выбирать нажатием левой клавиши мыши):

<SELECT name="selectName">
<OPTION value="Value1">
<OPTION value="Value2">
<OPTION value="Value3">
...
<OPTION value="ValueN">
</SELECT>

В поле формы можно загрузить путь к файлу (такое поле передает в теле запроса файл):

<INPUT type="file" name="fileName">

Поле формы может быть флагом или переключателем:

<INPUT type="radio">
<INPUT type="checkbox" CHECKED>

«CHECKED» - говорит о том, что элемент в данный момент выбран. Для больших текстовых полей однострочного режима недостаточно, поэтому в этом случае текст помещается в текстовую зону (TEXTAREA):

<TEXTAREA name="bigTEXT" cols="ANumber" rows="BNumber">
Default Text
</TEXTAREA>

Здесь «rows» и «cols» - количество строк и колонок текстовой зоны, иными словами высота и ширина текстового поля. Также поля формы бывают кнопками (эти поля на событие submit отправляют поля формы скрипту на обработку, на событие reset - перезагружают форму, приводя ее к исходному состоянию):


<INPUT type="reset" name="ResetForm" value="Reset">
<INPUT type="submit" name="SendForm" value="Send">

Для примера напишем код формы, отправляющий данные скрипту list.php, который будет возвращать данные формы:

<FORM name="send" action="list.php" method="post"><input type="hidden" name="phpMyAdmin" value="pYlgg5oTS0DALx4crrTrVHVzGK9" />
<INPUT type="text" name="val1" size=20 value="Поле 1">
<INPUT type="text" name="val2" size=30 value="Поле 2">
<SELECT name="val3">
<OPTION value="Value1">
<OPTION value="Value2" SELECTED>
<OPTION value="Value3">
</SELECT>
<INPUT type="submit" name="SendForm" value="Send">
</FORM>

Если вы вставите этот код в html-страницу (например, list.html), то при открытии этой страницы отобразится форма с двумя текстовыми полями и списком выбора значений (Значение «Value2» будет выбрано по-умолчанию). Завершать форму будет кнопка с надписью «Send». При нажатии на кнопку «Send» данные отправляются скрипту list.php, который мы сейчас с Вами и рассмотрим. Для начала поставим задачу, которую должен выполнять скрипт list.php, а именно скрипт будет подхватывать скриптом значения данных формы и выводить их обратно на страницу.

#файл list.php
<?php
$val=array();
/* если скрипт загрузился в результате
нажатия кнопки Send */
if(isset($_POST['SendForm'])){
/* присваиваем переменным значения
полей формы */
$val[] = $_POST['val1'];
$val[] = $_POST['val2'];
/* переменной $val3 присваивается
значение OPTION SELECTED */
$val[] = $_POST['val3'];
}
/* выводим массив $val в браузер */
foreach($val as $v){ echo "<div>--".$v."--</div>";}

?>

Из листинга скрипта видно, что данные из формы записываются в глобальный массив $_POST, значения которого доступны в любой части программы на PHP.


Источник: http://itfn.ru

Рекомендуем



Основные команды MySql Как и все результаты запросов к базе данных, считывающиеся в переменную php, полученный результате выполнения команды mysql текст необходимо обработать, т


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


Выборка данных из Mysql при помощи PHP php, который будет соединяться с базой MyBase, созданной нами в позапрошлой статье, и производить выборку информации из таблицы MyTable