Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Обработка информации из форм




ЛАБОРАТОРНАЯ РАБОТА

Тема: Проектирование и реализация веб-приложения "Работа с формами"

Цель работы: На основе задачи обработки форм ознакомиться с возможными подходами к проектированию небольших, но нетривиальных веб-приложений, учитывающих специфику языка PHP

Подключение внешних файлов

Запрашиваемая страница часто на сервере собирается из разных частей, каждая из которых хранится в отдельном файле. Это позволяет разбить проект на группу относительно небольших файлов, которыми проще управлять.

РНР имеет четыре команды, которые позволяют вставлять в один файл текст из другого: include и require, а также их варианты, запрещающие случайную повторную подгрузку одних и тех же файлов: include_once и require_once.

Инструкции include() и require() близки по смыслу. Они считывают и исполняют код, находящийся в указанном файле. Синтаксис:

include $filename;

require $filename; // можно со скобками, а можно — без.

Здесь $filename — путь к подключаемому файлу, причем это может быть удаленный файл, заданный с помощью URL.

Замечание.

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

Если при обработке php-скрипта интерпретатор встречает вызов include/require то:

1. он проверят путь к файлу, и, если файл существует, то

2. переходит в текстовый режим, чтобы вставить считываемый текст.

3. После того, как встретился конец файла, РНР-интерпретатор переключается в режим выполнения скриптов и продолжает выполнять главный скрипт, начиная со следующей за include (require) строкой.

По умолчанию РНР ищет подключаемые файлы в текущем каталоге или специальном каталоге, определенном директивой include_path в файле рhp.ini.

При большой внешней схожести между двумя конструкциями есть некоторые различия. Главное из них связано с действиями при ошибке "файл не найден":

include — ошибка игнорируется, выполнение скрипта продолжает, а

require — выполнение скрипта прекращается (require по смыслу "обязательно").

Элементы fieldset и legend

Эти теги позволяют группировать html-элементы (чаще всего элементы форм), обводя их рамкой (fieldset), в контур которой встраивается текст (legend), указывающий пользователю назначение группы элементов формы.

Оба элемента позволяют задавать стили отображения, а legend допускает форматирование текста с помощью обычных тегов, например, <b> и <i>.

Пример.

В следующем примере показана техника применения элементов fieldset и legend. Для одной формы можно создать несколько таких блоков.

<fieldset style="border:solid red 2px;width:200px;"> <legend style="font-family:arial;font-size:14px;"> <b>Пример fieldset</b> </legend> <div style="padding:20px;font-family:verdana;"> Сюда обычно помещают группу элементов формы </div> </fieldset>

Элемент button

Этот элемент может использоваться в формах или сам по себе. Его атрибут type допускает значения submit, reset и button (по умолчанию).

Когда кнопка нужна только для запуска некоторого скрипта, то можно обойтись без формы, используя элемент button с type="button". На эту кнопку можно поместить одновременный форматированный текст, картинки. Кроме того, можно также управлять стилями отображения, например, цветом фона кнопки.

Созданная таким образом кнопка при щелчке "утапливается", как должно быть при нажатии. Функциональность кнопки определяется заданием обработчика события onclick.

<button width="60" onclick="openMyPage()" style="background-color:wheat"> <img src="new.gif" border="0" hspace="10" vspace=5> <h3>Кнопка</h3> </button>

Обработка информации из форм

Информация из формы может быть получена скриптом одним из методов: GET или POST. Начиная с РНР 4.1, в зависимости от использованного способа передачи, значения из полей формы помещаются на сервере в один из суперглобальных ассоциативных массивов $_GET или $_POST.

Примечание.

Формируется еще один, сводный массив $_REQUEST, куда помещается информация, присланная обоими методами, также через куки.

1. Информация из текстовых полей.

Информация из текстового поля формы помещается в элемент массива $_GET или $_POST с индексом, совпадающим со значением атрибута name соответствующего тега <input>. Если текстовое поле отослано незаполненным, то значение элемента массива — пустая строка.

Можно создать несколько текстовых полей с одним именем, чтобы при пересылке из их значений был сформирован массив. Чтобы сделать это возможным, к имени поля нужно добавить пустые квадратные скобки:

<form action="action.php" method=" POST ">

<input type=text name="tfield[]" value="…" >

<input type=text name="tfield[]" value="…" >

...

<input type=text name="tfield[]" value="…" >

</form>

Для доступа к значениям полей в скрипте нужно использовать два индекса. Например, для чтения значения второго поля нужно использовать конструкцию:

$_POST[" tfield "][1]

2. Переключатели (радиокнопки)

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...