Во всех скриптах, в заголовке окна браузера должны быть ваши фамилия и имя!
Создайте скрипт z11-1.php, являющийся модификацией скрипта lab10-5.php:
В столбце Изменить стоит не радиокнопка, а гиперссылка на скрипт в таком виде:
z11-2.php?id=***
где вместо *** подставлено соответствующее значение поля id:
id | name | city | address | birthday | ||
---|---|---|---|---|---|---|
1 | Иванов Иван | Новосибирск | Кирова, 86 | 1983-01-02 | a@mail.ru | Изменить |
2 | Петров Петр | Новосибирск | Кирова, 86 | 1983-02-03 | b@mail.ru | Изменить |
А перед таблицей стоит гиперссылка "Ввести новые данные" на скрипт
в таком виде:
z11-2.php
что означает, что значение переменной $id в этом случае не задано.
Создайте скрипт 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-тег "как он есть".
Создайте скрипт z11-3.php, являющийся модификацией скрипта lab10-4.php, в котором:
1. При отображении поля birthday на экране (но не в таблице!) должна быть дата в привычном формате ДД.ММ.ГГГГ средствами РНР.
2. Под таблицей должна стоять текущая дата в формате
средствами РНР.
Создайте скрипт 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.