При разработке веб-приложений разработчикам иногда требуется доступ к переменной информации, которая не проходит через URL, но доступна в приложении. Например, веб-приложение календаря может попросить пользователя выбрать часовой пояс. После этого корректная дата и время в данном часовом поясе будет отображаться на всех страницах приложения. Переменные сеанса могут обеспечить эту функциональность.
Хотя переменные сеанса являются мощным инструментом в арсенале разработчика, Dreamweaver не создает автоматически весь код, необходимый для их работы. В данном документе рассматриваются переменные сеанса и предоставляются шаги для их использования в других моделях сервера, поддерживаемых Dreamweaver.
Для использования и понимания этого документа разработчик должен быть знаком с моделью сервера, например ASP или ColdFusion. Разработчик должен иметь представление о следующих основных понятиях. Кроме того, он должен использовать версию Dreamweaver, которая поддерживает функции динамической разработки (Dreamweaver MX или Dreamweaver MX 2004). См. соответствующие разделы руководства или справочной системы Dreamweaver для получения дополнительной информации.
Переменные сеанса позволяют разработчикам хранить информацию о пользователе путем установки значения переменной, которая будет доступной для приложения в течение всей сессии данного посетителя.
Переменные сеанса имеет следующие особенности:
Как правило, разработчики получают значения переменных сеанса с помощью запроса на заполнение формы в веб-приложении. Значение переменных сеанса устанавливается равным значению соответствующих полей заполняемой формы. В примерах, приведенных в данной технической заметке, для присвоения значения переменной сеанса используется информация из элемента заполняемой формы.
Для всех серверных моделей, за исключением ASP.NET, Dreamweaver имеет управляемую с помощью меню функцию для записи переменных сеанса на страницу после их создания. Однако Dreamweaver не содержит управляемую с помощью меню функцию для присвоения значений переменных сеанса (данный процесс также называется инстанцированием переменных сеанса). Значения переменных сеанса необходимо присваивать вручную в составе исходного кода.
Примечание. Пример для ASP.NET значительно отличаются от других серверных моделей, поскольку в ASP.NET обычно используются веб-формы вместо традиционных HTML-форм. Если вы используете серверную модель ASP.NET, см. пример для ASP.NET в конце данного документа.
Создайте 3 динамических страницы на сайте. Первая страница должна содержать HTML-форму (см. в следующем шаге) для отправки данных на вторую страницу. На второй странице создайте гиперссылку, ведущую на третью страницу.
Примечание. В данном примере используются 3 страницы, чтобы подтвердить, что переменная сеанса доступна для второй, третьей и последующих страниц. Переменные запросов, которые являются альтернативой переменным сеанса, можно переносить с первой страницы на вторую. Однако они не доступны для третьей или последующей страниц.
На второй странице запустите представление кода («Вид» > «Код»). Перед открывающим тегом <html> введите код для вашей серверной модели из приведенного ниже списка:
Данный код получает содержимое элемента формы с именем «txtFirstName», который был создан на первой странице. Затем он создает переменную сеанса с именем «sessFirstName», значение которой устанавливается равным содержимому элемента формы. Другими словами, этот код создает переменную сеанса, которая хранит информацию о пользователе.
Создайте 2 страницы на сайте. Первая страница должна содержать веб-форму ASP.NET, которая публикует данные обратно в себя, а затем перенаправляет их на вторую страницу.
Примечание. В данном примере используются 2 страницы, чтобы подтвердить, что переменная сеанса доступна для второй, третьей, четвертой и последующих страниц. Переменные запросов, которые являются альтернативой переменным сеанса, нельзя переносить из веб-формы ASP.NET на первой странице на вторую страницу.
Первая страница должна содержать веб-форму ASP.NET, которая содержит один серверный элемент управления <asp:textbox> и один серверный элемент управления <asp:button>. Задайте атрибут «id» серверного элемента управления текстового поля равным «txtFirstName». Полный код для первой страницы приводится ниже. Выберите или C#, или VB, в зависимости от того, какой язык используется на вашем сайте ASP.NET:
Данный код получает содержимое из серверного элемента управления <asp:textbox> с именем «txtFirstName» Он создает переменную сеанса с именем «sessFirstName», значение которой устанавливается равным содержимому соответствующего серверного элемента управления. Другими словами, этот код создает переменную сеанса, которая хранит информацию о пользователе.
Для получения дополнительной информации о переменных сеанса см. следующие статьи:
Вход в учетную запись