
- •Лабораторная работа
- •Элемент button
- •Обработка информации из форм
- •Значение атрибута value из отмеченной позиции переключателя передается через элемент соответствующего суперглобального массива с индексом, совпадающим с атрибутом name группы радиокнопок.
- •Порядок выполнения задания
- •I. Реализация базового функционирования программы.
- •Метод extract
- •II. Управление информацией из форм
- •Переключатель допускает выбор только одного из предложенных значений.
- •Чтобы потом восстановить этот выбор, необходимо по сохраненному значению отыскивать элемент списка, имеющий совпадающее значение атрибута value, и отмечать этот элемент при выводе переключателя.
Порядок выполнения задания
Выполнение задания разбито на два этапа. На первом пишется код, который управляет действием кнопок Отправить, Исправить и Верно, т.е. реализует основу функциональности программы (с простейшей частью формы и пока без отслеживания вводимых в нее данных).
На втором этапе форма дополняется необходимыми элементами и организуется необходимое управление информацией, которая введена в нее пользователем.
I. Реализация базового функционирования программы.
Так как объем программного php-кода будет достаточно большим, программа физически разбивается на два файла:
а) основной form.php, в котором определяется структура html-страницы, и
б) подключаемый к нему файл form_func.php, в который вынесена основная часть php-кода (т.е. логически программу можно рассматривать как состоящую из одного файла).
1. Создается файл form_func.php, в котором на глобальном уровне определяются и инициализируются пустыми строками три переменные для хранения имени, отчества и фамилии:
$firstName=''; $middleName=''; $lastName='';
2. В файле form.php создается скелет страницы, на которую в разных режимах будут выводиться форма, результаты ее заполнения и благодарность:
а) подключается файл функций form_func.php,
б) создаются три элемента div:
id='build' — для вывода формы,
id='show' — для просмотра информации, введенной в форму,
id='thanks'— для вывода благодарности за заполнение формы.
В элемент thanks вставляется текст благодарности: "Спасибо за заполнение анкеты".
3. В файл form_func.php добавляется следующий код.
а) на глобальном уровне создается переменная $isFirstTime, которая имеет значение "истина", когда файл загружается в первый раз и "ложь" в противном случае. Признак загрузки незаполненной формы — пустой (нулевой длины) массив $_POST.
Переменная $isFirstTime при загрузке страницы управляет значениями стилевого свойства display для первых двух режимов. Если она истинна, то отображается элемент build, а show — не виден, и наоборот.
Замечание.
Элемент thanks становится видимым в самом конце сеанса только после нажатия кнопки "Верно".
Таким образом, значения стилевого свойства display для элементов build и show могут меняться в зависимости от режима загрузки страницы, поэтому необходимо эти значения задавать php-переменными.
б) Разрабатывается функция buildForm(), в которой описывается создание части будущей формы.
Форма передает обработку себя своему же файлу (какое значение для этого должен иметь атрибут action, чтобы не зависеть от имени файла?) и использует метод POST.
Функция возвращает сформированный код в виде строки, которая вставляется в элемент build основного файла.
В форме определяются три поля для ввода фамилии, имени и отчества и кнопка "Отослать" типа submit.
Замечание.
Даже если не заполнять текстовые поля с ФИО, при отсылке формы будут созданы три переменные с пустыми строками и массив $_POST будет уже иметь не нулевую длину. Поэтому далее можно программировать нужное поведение программы.
4. В элемент show основного файла добавляется простая вспомогательная форма (без атрибутов action и onSubmit) с двумя кнопками (типа button) "Исправить" и "Верно". Обе кнопки имеют обработчики onСlick. Смысл обработки следующий.
а) При нажатии кнопки Исправить становится видимым элемент build и скрывается элемент show.
б) При нажатии кнопки Верно видимым становится элемент thanks и скрывается элемент show (build в данном случае уже не видим).
Так как это процедуры управления уже загруженной в браузер страницей, то они реализуются средствами Javascript.
5. Вставив для контроля в элемент show некоторый произвольный текст, убедиться в правильности функционирования созданной части программы.