Урок 5: Перемещение данных между страницами
-
В режиме Design (Дизайн) создайте новый абзац ниже существующего и введите Check cookie. К слову "cookie" прикрепите ссылку на страницу test_form_processor_cookies.asp . Сохраните страницу и загрузите ее на сервер.
Страницы test_form_processor_cookies.asp еще не существует, но сейчас она будет создана.
Но прежде чем создавать эту страницу, можете ли вы с учетом полученных в этом уроке знаний догадаться, что нужно сделать для того, чтобы отобразить на ней две переменных файла cookie?
-
Создайте новую динамическую страницу, соответствующую стандартам XHTML и сохраните ее как test_form_processor_cookies.asp.
Теперь создание динамических страниц должно стать привычным делом.
-
В режиме Design (Дизайн) введите приветствие "Hi, !".
Текст, который вводится на динамические страницы, нередко является непривычным, поскольку одна часть текста вводится сразу, а остальная генерируется динамически.
Примечание.Поскольку текст формируется из нескольких источников (статический XHTML и динамические данные), следует тщательно провести грамматический и синтаксический анализ, так как при выводе текста на страницу он не должен быть фрагментарным. -
На панели Bindings (Привязки) щелкните на кнопке New Binding (Создать привязку) ("+"). При использовании ASP следует выбрать тип Request Variable (Переменная запроса), а затем указать тип Request. Cookies и имя firstName . В случае применения ColdFusion или PHP следует просто выбрать Cookie Variable (Переменная cookie) и ввести имя firstName .
Прикрепление переменной файла cookie подобно прикреплению переменных формы или строки запроса.
-
Повторите шаг 9, чтобы добавить на панель Bindings (Привязки) переменную lastName .
На панели Bindings отобразятся добавленные переменные.
В случае применения ASP на панели Bindings (Привязки) отображаются только те переменные, которые определены на данной странице, а при использовании ColdFusion или PHP – переменные со всего сайта. Таким образом, в данном случае пользователи ASP видят на панели Bindings только две переменные, а пользователи ColdFusion и PHP — все переменные сайта.
-
Поместите курсор перед восклицательным знаком. На панели Bindings (Привязки) выделите переменную Cookies.firstName (ASP) или выполните команды Cookie\firstName (ColdFusion и PHP), после чего нажмите Insert (Вставить). Таким же образом добавьте переменную lastName .
К этому моменту процедура должна быть знакомой.
-
Сохраните страницу и загрузите ее на сервер. На панели Site (Сайт) выберите файл test_form.asp и нажмите клавишу (F12), чтобы протестировать его. Заполните форму, нажмите кнопку Submit, а затем щелкните на ссылке Check cookie (Проверить cookie).
Как и ожидалось, приложение работает. Несмотря на то, что данные вводятся на первой странице, они продолжают отображаться и на третьей. Данные берутся не из URL-адреса или тела запроса в виде значений переменных формы, а с жесткого диска.
Примечание.При использовании ASP вновь может возникнуть необходимость добавить неразрывный пробел ( ) между именем и фамилией, чтобы они не сливались.Примечание. Поскольку протокол HTTP имеет ограничения в операциях по обмену данными, сервер не имеет прямого доступа к жесткому диску, – так что переменные файлов cookie попадают с жесткого диска на сервер через запрос. Однако исходное значение хранится на жестком диске. -
Закройте браузер. На панели Site (Сайт) выберите файл test_form_ processor_cookies.asp и нажмите клавишу (F12).
Файл test_form_processor.asp ранее при проведении этого эксперимента не работал, поскольку после закрытия браузера данные из строки запросов пропадали. ASP и PHP оставляли поля пустыми, а ColdFusion выдавал сообщение об ошибке. Но если проводить такой же эксперимент с применением файлов cookie, то данные останутся, даже если закрыть браузер, поскольку они сохранены на жестком диске. Очевидно, что файлы cookie являются эффективным способом создания набора сохраняющихся данных, которые можно использовать на любых страницах сайта.
Резюме
В этом уроке вы узнали, как:
- применять особенности модели обмена данными между клиентом и сервером по протоколу HTTP;
- извлекать и отображать данные, добавленные в строку запроса;
- проводить сбор данных, введенных посетителями, и выводить их;
- создавать код ASP, ColdFusion и PHP, устанавливающий переменные файла cookie;
- извлекать и выводить данные, хранящиеся в файлах cookie.