Порядок выполнения задания. Тема: "Использование скрытых полей форм для организации сеансов"

ЛАБОРАТОРНАЯ РАБОТА

Тема: "Использование скрытых полей форм для организации сеансов"

Цель работы: Изучить метод организации сессий путем передачи данных через скрытые поля форм.

Одним из способов при переходе на новую страницу передавать данные, выбранные на текущей и накопленные на ранее посещенных страницах, состоит в использовании скрытых полей форм.

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

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

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

Например,

<input type=checkbox name="goods[]" value="Монитор Sony">

<input type=hidden name="goods[]" value="Фильтр сетевой">

При отсылке формы данные из одноименных элементов будут отосланы в массиве, который на обрабатывающей странице будет доступен по имени $goods.

ЗАДАНИЕ(Использование скрытых полей для организации сеансов)

Создается цепочка из трех страниц. На первых двух пользователю предлагается выбрать программный продукт для приобретения. На третьей выводится итоговая ведомость:

Первая страница каталога:

Порядок выполнения задания. Тема: "Использование скрытых полей форм для организации сеансов" - student2.ru

Вторая страница каталога:

Порядок выполнения задания. Тема: "Использование скрытых полей форм для организации сеансов" - student2.ru

Итоговая страница:

Порядок выполнения задания. Тема: "Использование скрытых полей форм для организации сеансов" - student2.ru

Порядок выполнения задания.

1. Создать шаблон файла, который будет использоваться для первой и второй страниц.

2. Заполнить страницы статической информацией, используя описанное правило формирования имен полей.

Информация из формы на первой странице должна передаваться на вторую страницу, а из формы на второй — итоговой странице.

Т.е. при нажатии кнопки на второй странице каталога выводится перечень всехз выбранных программных продуктов.

3. При формировании кода второй страницы необходимо предусмотреть добавление в форму скрытых полей с информацией о программных продуктах, выбранных на первой странице.

Примечание.

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

4. На итоговой странице названия выбранных продуктов выводятся в виде пронумерованного списка. Если ничего не было выбрано, то вместо списка появляется сообщение "Ничего не выбрано".

Вопросы для самоконтроля

1.Что понимается под сеансом работы пользователя?

2. Как нужно описать элементы формы, чтобы данные из этих элементов были отправлены массивом?

3. Могут ли быть отправлены одним массивом данные из разных типов элементов формы (input, textarea и т.п.)?

4. Что понимается под скрытым полем? Какому типу обычных полей соответствуют скрытые поля?

5. Как скрытые поля описываются в формах? Где хранится информация, отправляемая из скрытых полей?

6. В чем идея использования скрытых полей для организации сеансов? Где хранится информация о сеансе при использовании скрытых полей?

7. Как на протяжении сеанса сервером формируются новые страницы?

8. В чем недостатки метода скрытых полей?

Наши рекомендации