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

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

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

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

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

Задание № 1

Создайте скрипт z11-1.php, являющийся модификацией скрипта lab10-5.php:

В столбце Изменить стоит не радиокнопка, а гиперссылка на скрипт в таком виде:

z11-2.php?id=***

где вместо *** подставлено соответствующее значение поля id:

Ввести новые данные

idnamecityaddressbirthdaymail  
1Иванов ИванНовосибирскКирова, 861983-01-02 a@mail.ru Изменить
2Петров ПетрНовосибирскКирова, 861983-02-03 b@mail.ru Изменить

А перед таблицей стоит гиперссылка "Ввести новые данные" на скрипт в таком виде:
z11-2.php
что означает, что значение переменной $id в этом случае не задано.

Задание № 2

Создайте скрипт z11-2.php, являющийся модификацией скрипта lab10-3.php:

1. Поля для ввода данных сделайте как <textarea>. Причем, если этот скрипт вызывается без значения id, то поля для ввода остаются пустыми. Если же скрипт вызывается для изменения данных (значение переменной $id чему-то равно), то в элементах <textarea> выводятся соответствующие значения.

2. Реализуйте проверку введенных в HTML-форму данных:

Если какие-то данные заданы неверно, то снова отображается HTML-форма с уже введенными значениями, но рядом с названием поля с ошибочными данными выводится предупреждение о неверности данных и подсказка как правильно.

И обязательно сделайте удаление всех HTML-тегов из того, что передано формой для этих 4-х полей до записи данных в таблицу.

3. Для поля mail сделайте не просто проверку, что это действительно e-mail адрес. В таблицу должен записываться HTML-тег

<a href="mailto:***">***</a>

где вместо *** подставляется значение поля mail.

Причем запись элементов тега должна быть только один раз! Т.е. при сохранении в поле mail данных из HTML-формы следует проверять что это: просто e-mail адрес (тогда он переделывается в гиперссылку) или уже готовая гиперссылка. Чтобы не получилось так, что в уже вставленный тег гиперссылки по второму разу будут вставляться элементы тега. Разумеется, что когда данные редактируются, в соответствующем поле формы отображается сам HTML-тег "как он есть".

Задание № 3

Создайте скрипт z11-3.php, являющийся модификацией скрипта lab10-4.php, в котором:

1. При отображении поля birthday на экране (но не в таблице!) должна быть дата в привычном формате ДД.ММ.ГГГГ — средствами РНР.

2. Под таблицей должна стоять текущая дата в формате
 — средствами РНР.

Задание № 4

Создайте скрипт z11-4.php «Мини фотогалерея».

На сервере, в папке photo находится файл info.txt, содержащий такие строки:

ar1 Ariston MB 1167 NF
ar8 Ariston AV 102
ar15 Ariston MB 212
el3 Electrolux ENB 3269
sa5 Samsung RT-29 BVMS
sa20 Samsung RL-17

Каждая строка — это код графического файла в формате «точно 2 буквы и 1 или 2 цифры», а далее некое описание.

В этой же папке photo находятся и пары файлов вида ar1.jpg, ar1-b.jpg, т.е. маленькая и большая картинки.
Но не для всех кодов есть файлы!

Необходимо:

1. Прочитать содержимое файла info.txt в массив info[] построчно.

2. Перебирая элементы массива info[], из каждого элемента выделить код файла и описание.
Одновременно надо проверять, есть ли на сервере в папке photo для данного кода соответствующий файл (с расширением *.jpg).
Также, одновременно надо формировать ассоциативные массивы:
model[], в котором ключами являются коды файлов, а значениями — описание модели;
ris[], в котором ключами являются коды файлов, а значениями — либо имя файла с фото, либо строка "null", если соответствующего файла нет.

3. Аналогично файлу lab5-4.htm, вывести на экран содержимое массивов ris[] и model[] в виде блоков, где слева находится маленькая картинка (или текст «Изображения нет»), а справа — описание.

При этом маленькая картинка является гиперссылкой, т.е. при щелчке мышкой по картинке должно открываться вспомогательное окошко с большой картинкой — сделать средствами JavaScript.