Справочник по HTML

Справочник по PHP

Лабораторная работа № 9

Во всех скриптах, в заголовке окна браузера должны быть ваши фамилия и имя!

Задание № 1

Создайте файл lab9-1.php с HTML-формой, которая вызывает сама себя.

В форме можно выбрать
а) горизонтальное (align, варианты значений: left, center, right),
б) вертикальное (valign, варианты значений: top, middle, bottom)
расположение текста в таблице.

Для (а) использовать переключатели, для (б) - флажки. По умолчанию установите такие значения: для align - «left», для valign - «top».

Обработка формы выполняется по нажатии кнопки «Выполнить».

Над формой должна быть таблица, состоящая из одной ячейки шириной и высотой 100 пикселов. В ячейку таблицы поместите слово «Текст»

Задание № 2

Создайте скрипт lab9-2.php в котором сперва проверяется, было ли присвоено значение переменной $site. Если проверка дает положительный результат, осуществляется перенаправление пользователя на сайт поисковой системы, адрес которого — значение переменной $site. Если же значение переменной $site не задано, выводится HTML-форма с раскрывющимся списком поисковых сайтов:

Эти сайты должны быть занесены в массив $list_sites[]. Предполагается, что данный массив может дополняться, а значит его размер заранее неизвестен, поэтому раскрывающийся список с адресами поисковых систем сформировать с помощью цикла while и функции, возвращающей количество элементов массива.

Задание № 3

Создайте файл lab9-3a.htm с HTML-формой анкеты, определяющей характер человека.

Пользователю предлагается в текстовом поле ввести свое имя, а затем ответить «да» или «нет» на следующие вопросы:

1. Считаете ли Вы, что у многих ваших знакомых хороший характер?
2. Раздражают ли Вас мелкие повседневные обязанности?
3. Верите ли Вы, что ваши друзья преданы Вам?
4. Неприятно ли Вам, когда незнакомый человек делает Вам замечание?
5. Способны ли Вы ударить собаку или кошку?
6. Часто ли Вы принимаете лекарства?
7. Часто ли Вы меняете магазин, в который ходите за продуктами?
8. Продолжаете ли Вы отстаивать свою точку зрения, поняв, что ошиблись?
9. Тяготят ли Вас общественные обязанности?
10. Способны ли Вы ждать более 5 минут, не проявляя беспокойства?
11. Часто ли Вам приходят в голову мысли о Вашей невезучести?
12. Сохранилась ли у Вас фигура по сравнению с прошлым?
13. Можете ли Вы с улыбкой воспринимать подтрунивание друзей?
14. Нравится ли Вам семейная жизнь?
15. Злопамятны ли Вы?
16. Находите ли Вы, что стоит погода, типичная для данного времени года?
17. Случается ли Вам с утра быть в плохом настроении?
18. Раздражает ли Вас современная живопись?
19. Надоедает ли Вам присутствие чужих детей в доме более одного часа?

Ответ на каждый из вопросов представьте с помощью переключателя («да» или «нет»):

По умолчанию задайте везде значение «да».

Напишите сценарий обработки анкеты (скрипт lab9-3b.php): поставьте 1 балл, если был ответ «да» в вопросах с номерами 3, 9, 10, 13, 14, 19 и «нет» в вопросах с номерами 1, 2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 17, 18. Посчитайте сумму набранных баллов.
Если она оказалась более 15, то результат: «У Вас покладистый характер»;
если сумма в интервале от 8 до 15, то результат: «Вы не лишены недостатков, но с вами можно ладить»;
если сумма менее 8 баллов, то результат: «Вашим друзьям можно посочувствовать».

Отобразите на экране имя анкетируемого, фразу-результат анкетирования и соответствующее этому результату изображение (из папки images):
r1.gif r2.gif r3.gif

Задание № 4

Создайте файл lab9-4a.htm с HTML-формой «Анкета переводчика». Сведения о языках, которыми может владеть переводчик, представлены в виде раскрывающегося списка с множественным выбором:

Обработка формы выполняется в скрипте lab9-4b.php, в котором необходимо сделать вывод на экран списка языков, которыми владеет переводчик и суммарного вознаграждения.
Например:

Вы знаете
английский
французский
немецкий

Ваше вознаграждение 900 у.е.

При этом знание языков оценивается так:

Обязательно предусмотрите обработку случая, когда ни один из языков не выбран, а кнопка «Определить» нажата.
Например:

А Вы вообще что-нибудь знаете?

Ваше вознаграждение 0 у.е.