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

Значение атрибута value из отмеченной позиции переключателя передается через элемент соответствующего суперглобального массива с индексом, совпадающим с атрибутом name группы радиокнопок.





Однако если ни одна кнопка не выбрана (нет selected по умолчанию и пользователь ничего не выбрал), то соответствующий элемент суперглобального массива не создается. Эту ситуацию можно определить, применяя функцию isset к соответствующему элементу массива.

3. Флажки.

Если флажок установлен, то в суперглобальный массив передается значение соответствующего атрибута value.

Если флажок не установлен, то элемент суперглобального массива не создается.

Если несколько флажков имеют одно и тоже имя, то из их значений можно сформировать массив (аналогично случаю текстовых полей, нужно добавить пустые квадратные скобки).

4. Информация из списков.

Если из списка можно выбрать только одно значение, то это значение записывается в элемент с индексом, совпадающим атрибутом name элемента формы. Если значение из списка пользователем не выбрано, то соответствующий элемент суперглобального массива не создается.

Если используется список, в котором можно выбрать несколько значений (используя клавишу Ctrl), то, чтобы переслать их как массив, значение атрибута name нужно дополнить пустыми квадратными скобками:

<select name="Selector[]" multiple>

<option>Выбор 1

<option>Выбор 2

<option>Выбор 3

</select>

 

 

ЗАДАНИЕ

Создать анкету — форму. В форму включены следующие элементы:

а) группа текстовых полей "Фамилия", "Имя", "Отчество" (передается на обработку массивом);

б) переключатель "Пол";

в) группа флажков "Программирую:" со значениями "Си", "Паскаль", "PHP" (передается на обработку массивом);

г) список с множественным выбором "Могу работать:" со значениями "Программистом", "Системным администратором", "Руководителем группы", "Постановщиком задач".

Скрипт, обрабатывающий форму, в ответе пользователю выводит полученную от него информацию и ждет оценки, все ли верно или нужно ли вносить исправления. При утвердительно ответе выводится страница с благодарностью за заполнение анкеты. При отрицательном ответе — анкета предлагается повторно, но уже со всеми ранее заполненными пользователем полями.



Реализовать всю программу в одном php-файле (с подгрузкой файла php-кода).

Анализ работы программы

Программа должна отображать четыре типа страниц, содержащих:

а) исходную форму с пустыми полями, в которую пользователь заносит информацию (рис. 1);

б) информацию, взятую из формы и представленную для проверки в текстовом виде (рис. 3);

в) восстановленную форму с введенной ранее информацией для внесения исправлений, если пользователь при проверке нашел неточности (рис. 2);

г) благодарность за заполнение формы (рис. 4).

Первый и третий типы страниц имеют кнопку "Отослать", которая используется для передачи занесенной в форму информации на проверку.

Рис. 2
Рис. 1

Второй тип страницы имеет две кнопки: "Верно" для подтверждения правильности введенной информации и "Исправить", когда нужно вернуть форму для исправлений.

Рис. 3

 

Четвертая страница не содержит ничего, кроме текста благодарности.

Рис. 4

 

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

Схема переходов между различными представлениями страницы:

 

 


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

Переходы, связанные с выполнением функций Исправить и Верно, можно выполнять без перезагрузки страницы, поэтому их экономнее реализовать на стороне клиента (Javascript).





Рекомендуемые страницы:

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



©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.