Руководство пользователя Отмена

Обзор динамических источников содержимого

 

 

Примечание.

Пользовательский интерфейс в Dreamweaver и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver и более поздних версиях. Дополнительные сведения см. в этой статье.

О динамических источниках содержимого

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

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

Производители программных продуктов могут называть набор записей по-разному. В ASP и ColdFusion набор записей определяется как запрос. Если используются другие источники данных, например вводимые пользователем данные или серверные переменные, название источника данных, определенного в Dreamweaver, совпадает с названием самого источника данных.

Для динамических веб-сайтов требуется источник содержимого, из которого извлекаются данные и отображаются на экране. Dreamweaver позволяет использовать базы данных, переменные запросов, переменные URL, серверные переменные, переменные форм, хранимые процедуры и другие источники динамического содержимого. В зависимости от источника данных можно либо извлекать новое содержимое для выполнения запроса, либо изменять страницу для удовлетворения требований пользователей.

Любой источник содержимого, определяемый в Dreamweaver, добавляется в список источников содержимого на панели «Привязки». Затем источник содержимого можно вставить в текущую страницу.

О наборах записей

Веб-страницы не способны напрямую обращаться к информации в базе данных. Они взаимодействуют с наборами записей. Набор записей — это подмножество данных (записей), получаемое из базы данных с помощью запроса. Запрос — это поисковый оператор, предназначенный для нахождения и извлечения из базы данных определенной информации.

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

В результате выполнения запроса может быть создан набор записей, содержащий только определенные столбцы, определенные записи либо их сочетание. Кроме того, в набор записей могут входить все строки и столбцы таблицы базы данных. Однако, поскольку приложениям редко требуется вся информация из базы данных, наборы записей следует сделать максимально компактными. Поскольку веб-сервер временно хранит наборы записей в оперативной памяти, использование наборов записей меньшего размера позволяет сэкономить память и может повысить производительность сервера.

Запросы к базе данных пишут на языке SQL. Этот простой язык позволяет получать, добавлять и удалять данные в базе данных. Построитель SQL-запросов, включенный в состав Dreamweaver, позволяет создавать простые запросы, избавляя от необходимости знания языка SQL. Однако владение основами этого языка дает возможность создавать более сложные SQL-запросы и обеспечивает большую гибкость при создании динамических страниц.

Перед тем как определять набор записей, который будет использоваться в Dreamweaver, необходимо создать подключение к базе данных и если данных пока нет, ввести данные в базу. Если подключение к базе данных для сайта не задано, обратитесь к главе, посвященной подключению баз данных для серверной технологии, на основе которой создается сайт, и следуйте указаниям по созданию подключения к базе данных.

Параметры URL-адреса и параметры форм

В параметрах URL хранятся данные, введенные пользователями. Для определения параметра URL-адреса нужно создать форму или гипертекстовую ссылку, использующую метод GET для отправки данных. Данные присоединяются к URL-адресу запрошенной страницы и передаются на сервер. При использовании переменных URL строка запроса содержит одну или несколько пар «имя-значение», связанных с полями форм. Эти пары «имя-значение» присоединяются к URL-адресу.

В параметрах форм хранятся полученные данные, включенные в HTTP-запрос для веб-страницы. При создании формы, использующей метод POST, данные, отправляемые формой, передаются на сервер. Перед началом работы убедитесь, что параметры форм передаются на сервер.

О переменных сеанса

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

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

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

Принцип работы переменных сеанса

В переменных сеанса хранится информация (обычно предоставленные пользователем параметры форм или параметры URL-адреса), доступная для всех страниц веб-приложения на протяжении посещения этого пользователя. Например, когда пользователи регистрируются на веб-портале, который обеспечивает доступ к электронной почте, биржевым сводкам, прогнозам погоды, новостям дня, то веб-приложение хранит сведения об имени входа в переменной сеанса, которая идентифицирует пользователя на страницах сайта. Это позволяет пользователю видеть при навигации по сайту только выбранный тип содержимого. Кроме того, переменные сеанса позволяют обеспечить безопасное завершение сессии пользователя, если учетная запись остается неактивной в течение определенного периода времени. Память сервера и вычислительные ресурсы также освобождаются, если пользователь забыл выйти с веб-сайта.

Переменные сеанса хранят информацию, пока сеанс активен. Сессия начинается, когда пользователь открывает какую-либо страницу приложения, и завершается, когда пользователь в течение определенного периода времени не открывает других страниц либо когда пользователь непосредственно завершает сессию (обычно переходя по ссылке «Выход»). Все время своего существования сессия является индивидуальной для отдельного пользователя, у каждого пользователя своя сессия.

Переменные сеанса следует применять для хранения информации, к которой должны иметь доступ все страницы веб-приложения. К такой информации могут относиться разнообразные данные — от имени пользователя и предпочтительного размера шрифта до флага, показывающего успешность регистрации пользователя. Другим распространенным применением переменных сеанса является сохранение текущего значения счетчика, например количества правильных ответов в интерактивных опросах или числа выбранных товаров в интерактивном каталоге.

Переменные сеанса работают, только если в браузере пользователя разрешены cookie-файлы. При первоначальной инициализации сессии сервер создает идентификационный номер сессии, который уникально идентифицирует пользователя, а затем отправляет cookie-файл с этим номером в браузер пользователя. Когда пользователь запрашивает еще одну страницу на сервере, сервер считывает cookie-файл в браузере для идентификации пользователя и получения переменных сеанса пользователя, хранящихся в памяти сервера.

Сбор, хранение и извлечение данных из переменных сеанса

Перед созданием переменной сеанса необходимо сначала получить информацию, которую требуется сохранить, затем отправить ее на сервер для хранения. Информацию можно собирать и отправлять на сервер с помощью HTML-форм или гипертекстовых ссылок, содержащих параметры URL-адреса. Кроме того, можно получать информацию из хранящихся на компьютере пользователя cookie-файлов, из HTTP-заголовков, отправленных браузером пользователя вместе с запросом страницы, или из базы данных.

Типичным примером хранения параметров URL-адреса в переменных сеанса является каталог товаров, где информация о товаре отправляется обратно на сервер для сохранения в переменной сеанса. При переходе по ссылке «Добавить в корзину» идентификатор товара сохраняется в переменной сеанса, а пользователь продолжает выбирать покупки. Когда пользователь переходит к странице расчета, идентификатор товара извлекается из переменной сеанса.

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

После отправки информации на сервер она сохраняется в переменных сеанса путем добавления соответствующего кода для модели сервера к странице, указанной параметром формы или параметром URL-адреса. Эта страница (страница назначения) указывается или в атрибуте action HTML-формы или в атрибуте href гипертекстовой ссылки на начальной странице.

После того как значение сохранено в переменной сеанса, его можно получить из переменной сессии с помощью Dreamweaver и использовать в веб-приложении. После определения переменной сеанса в Dreamweaver можно вставлять ее значение на страницу.

При этом используется следующий HTML-синтаксис.

<form action="destination.html" method="get" name="myform"> </form>
<param name="href"value="destination.html">
<form action="destination.html" method="get" name="myform"> </form> <param name="href"value="destination.html">
<form action="destination.html" method="get" name="myform"> </form> 
<param name="href"value="destination.html">

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

ColdFusion

<CFSET session.variable_name = value>
<CFSET session.variable_name = value>
<CFSET session.variable_name = value>

ASP

<% Session("variable_name") = value %>
<% Session("variable_name") = value %>
<% Session("variable_name") = value %>

Выражение value обычно является серверным выражением, например Request.Form(«lastname»). Например, если для сбора сведений используется параметр URL-адреса с именем product (или HTML-форма с методом GET и текстовое поле с именем product), то следующие операторы сохранят информацию в переменной сеанса с именем prodID.

ColdFusion

<CFSET session.prodID = url.product>
<CFSET session.prodID = url.product>
<CFSET session.prodID = url.product>

ASP

<% Session("prodID") = Request.QueryString("product") %>
<% Session("prodID") = Request.QueryString("product") %>
<% Session("prodID") = Request.QueryString("product") %>

При сборе информации с помощью HTML-формы с методом post и текстового поля с именем txtProduct информацию сохраняют в переменной сеанса следующие операторы.

ColdFusion

<CFSET session.prodID = form.txtProduct>
<CFSET session.prodID = form.txtProduct>
<CFSET session.prodID = form.txtProduct>

ASP

<% Session("prodID") = Request.Form("txtProduct") %>
<% Session("prodID") = Request.Form("txtProduct") %>
<% Session("prodID") = Request.Form("txtProduct") %>

Пример сведений, которые хранятся в переменных сеанса

Допустим, разрабатывается сайт, большую часть аудитории которого составляют пожилые люди. В Dreamweaver добавьте две ссылки на экран приветствия, которые позволят пользователям настраивать размер текста на сайте. Для использования легко читаемого текста большого размера пользователь переходит по одной ссылке, а для использования текста обычного размера — по другой.

Сведения, которые хранятся в переменных сеанса

Каждая ссылка имеет параметр URL-адреса fontsize, который указывает серверу выбранный пользователем размер текста, как показано в следующем примере для Adobe ColdFusion®.

<a href="resort.cfm?fontsize=large">Larger Text</a><br>
<a href="resort.cfm?fontsize=small">Normal Text</a>
<a href="resort.cfm?fontsize=large">Larger Text</a><br> <a href="resort.cfm?fontsize=small">Normal Text</a>
<a href="resort.cfm?fontsize=large">Larger Text</a><br> 
<a href="resort.cfm?fontsize=small">Normal Text</a>

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

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

ColdFusion

<CFSET session.font_pref = url.fontsize>
<CFSET session.font_pref = url.fontsize>
<CFSET session.font_pref = url.fontsize>

ASP

<% Session("font_pref") = Request.QueryString("fontsize") %>
<% Session("font_pref") = Request.QueryString("fontsize") %>
<% Session("font_pref") = Request.QueryString("fontsize") %>

При переходе по гипертекстовой ссылке страница отправляет выбранный пользователем вариант в параметре URL-адреса на страницу назначения. Код на странице назначения сохраняет параметр URL-адреса в переменной сеанса font_pref. В течение всей сессии данного пользователя всем страницам приложения будет присвоено это значение, они будут отображать шрифтом заданного размера.

Переменные приложений ASP и ColdFusion

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

Поскольку переменные приложения сохраняются в течение всего срока работы приложения, а также при смене пользователей, они идеально подходят для хранения данных, необходимых всем пользователям, например текущего времени и даты. Значение переменной приложения определяется в коде приложения.

Серверные переменные ASP

В качестве источников динамического содержимого можно определить следующие серверные переменные ASP: Request.Cookie, Request.QueryString, Request.Form, Request.ServerVariables и Request.ClientCertificates.

Серверные переменные ColdFusion

Можно определить следующие серверные переменные ColdFusion:

Клиентские переменные

Связывают данные с конкретным клиентом. Клиентские переменные поддерживают состояние приложения, пока пользователь переключается между страницами в приложении, а также между сеансами. «Поддержание состояния» означает сохранение данных при переходе между страницами или сеансами, таким образом приложение запоминает настройки и параметры, заданные пользователем ранее.

Переменные Cookie

Cookie-переменные доступа, передаваемые серверу браузером

Переменные CGI

Содержат сведения о сервере, на котором выполняется ColdFusion, о браузере, запрашивающем страницу, и другие сведения о среде обработки.

Серверные переменные

Доступны всем клиентам и приложениям на сервере. Сохраняются до остановки сервера.

Локальные переменные

Создаются при помощи тега CFSET или CFPARAM внутри страницы ColdFusion.

Получайте помощь быстрее и проще

Новый пользователь?