用户界面已经在 Dreamweaver 和更高版本中做了简化。 因此,您可能在 Dreamweaver 和更高版本中找不到本文中描述的一些选项。 有关详细信息,请参阅此文章。
关于动态内容源
动态内容来源是\n一个信息存储库,您可以从中检索和显示动态\n内容以便在网页中使用。动态内容的来源不仅包括\n存储在数据库中的信息,还包括由 HTML 表单提交\n的值、服务器对象中包含的值以及其他内容\n来源。
Dreamweaver 让您可以轻松连接到\n数据库并创建记录集,从中提取动态\n内容。记录集 是数据库查询的结果。 它提取您请求的特定信息,并允许您\n在指定页面内显示该信息。您根据\n数据库中包含的信息和您要显示的内容来定义\n记录集。
不同的技术供应商可能对记录集使用不同的\n术语。在 ASP 和 ColdFusion 中,记录集定义为 查询。如果您使用其他数据来源,例如用户输入或服务器变量,则在 Dreamweaver 中定义的数据源名称与实际数据源名称相同。
动态网站需要数据源来检索\n和显示动态内容。Dreamweaver 让\n您可以使用数据库、请求变量、URL 变量、服务器变量、\n表单变量、存储过程以及其他动态\n内容来源。根据数据源,您可以检索新的\n内容来满足请求,或者修改页面来满足\n用户的需要。
您在 Dreamweaver 中定义的任何内容源都会\n添加到"绑定"面板的内容源列表中。然后\n您可以将内容源插入到当前选中的页面中。
关于记录集
网页无法直接\n访问存储在数据库中的数据。相反,它们与\n记录集交互。记录集是使用数据库查询从数据库中提取的信息(记录)子集。查询是一个搜索语句,旨在从数据库中查找和提取特定信息。
当使用数据库作为动态网页的内容源时,\n您必须首先创建一个记录集来存储检索到的\n数据。记录集充当存储内容的数据库与生成页面的应用程序服务器之间的媒介。记录集\n临时存储在应用程序服务器的内存中以便更快地\n检索数据。当不再\n需要记录集时,服务器会丢弃该记录集。
查询可以产生一个只包含某些列、只包含某些记录或两者组合的记录集。记录集也可以\n包含数据库表的所有记录和列。但是,由于应用程序很少需要使用数据库中的每一条数据,您应该努力使记录集尽可能小。由于 Web 服务器会临时将记录集保存\n在内存中,使用较小的记录集会占用更少内存,并可能提高\n服务器性能。
数据库查询使用结构化查询语言(SQL,读音为"sequel")编写,这是一种简单的语言,可让您从数据库中检索、添加和删除数据。Dreamweaver 中包含的 SQL 构建器可让您创建简单查询,而无需了解 SQL。不过,如果您想要创建复杂的 SQL 查询,掌握这种语言的基础知识可让您创建更高级的查询,并且在设计动态页面时拥有更大的灵活性。
在定义用于 Dreamweaver 的记录集之前,您必须创建与数据库的连接,如果尚不存在任何数据,则需要将数据输入数据库。如果您尚未为网站定义数据库连接,请参阅您正在为其开发的服务器技术的数据库连接章节,并按照创建数据库连接的说明进行操作。
关于 URL 参数和表单参数
URL 参数存储用户输入的已检索信息。要定义 URL 参数,您需要创建使用 GET 方法提交数据的表单或超文本关联。该信息将附加到请求页面的 URL 中,并传达给服务器。使用 URL 变量时,查询字符串包含一个或多个与表单字段关联的名称值对。这些名称/值对附加在 URL 后面。
表单参数存储包含在网页 HTTP 请求中的检索信息。如果您创建使用 POST 方法的表单,表单提交的数据将传递至服务器。开始之前,请确保将表单参数传递给服务器。
关于会话变量
会话变量可用于存储和显示在用户访问(或会话)期间维护的信息。服务器为每个用户创建不同的会话对象,并在设定的时间段内维护该对象,或直到明确终止该对象。
由于会话变量在整个用户会话期间持续存在,并且在用户在网站内从一个页面移动到另一个页面时保持不变,因此它们非常适合存储用户偏好设置。会话变量还可用于在页面的 HTML 代码中插入值、为本地变量分配值或提供值以评估条件表达式。
在为页面定义会话变量之前,必须在源代码中创建它们。在 web 应用程序的源代码中创建会话变量后,您可以使用 Dreamweaver 检索其值并在网页中使用它。
会话变量的工作方式
会话变量存储信息(通常是用户提交的表单或 URL 参数),并使其在用户访问期间可供 web 应用程序的所有页面使用。例如,当用户登录提供电子邮件访问权限、股票报价、天气报告和每日新闻的 web 门户时,web 应用程序将登录信息存储在会话变量中,该变量在整个地点的页面中标识用户。这允许用户在浏览网站时只看到他们选择的内容类型。会话变量还可以提供安全机制,在帐户在特定时间段内保持非活动状态时终止用户的会话。如果用户忘记注销网站,这还可以释放服务器内存和处理资源。
会话变量存储着用户的会话生命周期的信息。 会话在用户打开应用程序内的页面时开始,在用户在特定时间段内未打开应用程序中的另一个页面时结束,或者当用户明确终止会话时结束(通常通过单击"注销"链接)。会话存在时,它特定于个体用户,每个用户都有单独的会话。
使用会话变量来存储 Web 应用程序中每个页面都可以访问的信息。信息可以多种多样,如用户的姓名、首选字体大小或表示用户是否成功登录的标志。会话变量的另一个常见用途是保持运行计数,例如在线测验中到目前为止答对的问题数量,或用户到目前为止从在线目录中选择的产品。
会话变量只有在用户浏览器配置为接受 Cookie 时才能正常运行。首次启动会话时,服务器会创建一个唯一标识用户的会话 ID 编号,然后向用户浏览器发送包含该 ID 编号的 Cookie。当用户请求服务器上的另一个页面时,服务器会读取浏览器中的 Cookie 来识别用户,并检索存储在服务器内存中的用户会话变量。
收集、存储和检索会话变量中的信息
在创建会话变量之前,您必须先获取要存储的信息,然后将其发送到服务器进行存储。您可以使用\nHTML 表单或包含 URL 参数的超文本链接来收集信息并将其发送到服务器。您还可以从存储在用户计算机上的 Cookie、从用户浏览器在页面请求中发送的 HTTP 标头或从数据库中获取信息。
在会话变量中存储 URL 参数的典型示例\n是产品目录,它使用硬编码的 URL 参数创建\n链接,将产品信息发送回服务器以\n存储在会话变量中。当用户点击"添加至购物车"\n链接时,产品 ID 会存储在会话变量中,同时\n用户可以继续购物。当用户继续转到结账页面时,将检索存储在会话变量中的产品 ID。
基于 表单的调查是在会话变量中存储表单 参数的典型页面示例。该表单将选定的信息 发送回服务器,其中应用程序页面对调查 进行评分,并将回答存储在会话变量中,以传递给 可能汇总从调查 人群收集的回答的应用程序。或者,这些信息可能会存储在数据库中 以供以后使用。
将信息发送到服务器后,您可以通过在 URL 或表单参数指定的页面中添加适用于您的服务器模型的相应代码,将信息存储在会话变量中。目标页面 是指此页面,在起始页面上的 HTML 表单的 action 属性 或超文本链接的 href 属性中 指定该页面。
在 会话变量中存储值后,您可以使用 Dreamweaver 从会话 变量中检索值并在 Web 应用程序中使用该值。在 Dreamweaver 中定义 会话变量后,您可以 在页面中插入其值。
每种 HTML 语法如下所示:
<form action="destination.html" method="get" name="myform"> </form>
<param name="href"value="destination.html">
所使用的服务器技术和您用来获取 信息的方法都决定了用于在会话变量中存储信息 的代码。每种服务器技术 的基本语法如下:
ColdFusion
<CFSET session.variable_name = value>
ASP
<% Session("variable_name") = value %>
值表达式通常是服务器表达式,如 Request.Form("lastname")。例如,如果您使用名为 product 的 URL 参数(或 使用 GET 方法和名为 product 的文本字段的 HTML 表单)来收集信息,以下 语句将该信息存储在名为 prodID 的会话变量中:
ColdFusion
<CFSET session.prodID = url.product>
ASP
<% Session("prodID") = Request.QueryString("product") %>
如果 您使用 post 方法和名为 txtProduct 的 文本字段的 HTML 表单来收集信息, 那么以下语句将信息存储在会话 变量中:
ColdFusion
<CFSET session.prodID = form.txtProduct>
ASP
<% Session("prodID") = Request.Form("txtProduct") %>
存储在 会话变量中的信息示例
您正在为拥有大量老年 受众的地点工作。在 Dreamweaver 中,向欢迎屏幕添加两个链接,让用户自定义网站文本的大小。对于更大、易于阅读的文本,用户单击一个链接;对于 常规大小的文本,用户单击另一个链接。
每个链接都有一个名为 fontsize 的 URL 参数,用于 将用户的文本偏好提交到服务器,如以下 Adobe ColdFusion® 示例所示:
<a href="resort.cfm?fontsize=large">较大字体</a><br>
<a href="resort.cfm?fontsize=small">正常文本</a>
将用户的文本偏好存储在会话变量中,并使用 它来设置用户请求的每个页面上的字体大小。
在目标页面的顶部附近,输入以下代码 来创建一个名为 font_pref 的会话,用于存储 用户的字体大小偏好。
ColdFusion
<CFSET session.font_pref = url.fontsize>
ASP
<% Session("font_pref") = Request.QueryString("fontsize") %>
当 用户单击超文本链接时,页面会将用户的文本 偏好通过 URL 参数发送到目标页面。目标页面上的代码 将 URL 参数存储在 font_pref 会话 变量中。在用户会话的存留期内,应用程序的所有页面 都会检索此值并显示选定的 字体大小。
ASP 和 ColdFusion 应用程序 变量
在 ASP 和 ColdFusion 中,您可以使用应用程序变量 来存储和显示在应用程序存留期内维护 并且在用户之间保持的信息。应用程序的 存留期从第一个用户请求应用程序中的页面时开始, 到 web 服务器停止时结束。(应用程序定义为虚拟目录及其子目录中的所有文件。)
由于应用程序变量在应用程序的整个存留期内持续存在,并在不同用户之间保持不变,因此它们非常适合存储对所有用户都必需的信息,例如当前时间和日期。应用程序变量的值在应用程序的代码中定义。
ASP 服务器变量
您可以将以下 ASP 服务器变量定义为动态内容的来源:Request.Cookie、Request.QueryString、Request.Form、Request.ServerVariables 和 Request.ClientCertificates。
ColdFusion 服务器变量
可以定义下列 ColdFusion 服务器变量:
客户端变量
使数据与特定的客户端相关联。 客户端变量在用户从应用程序的一个页面移动到另一个页面时,以及从一个会话移动到另一个会话时,维护应用程序的状态。"维护状态"是指从一个页面(或会话)到下一个页面保留信息,以便应用程序记住用户,以及用户以前的选择和偏好设置。
Cookie 变量
访问由浏览器传递给服务器的 Cookie。
CGI 变量
提供有关运行 ColdFusion 的服务器、请求页面的浏览器以及正在处理环境的其他信息。
服务器变量
可以由服务器上的所有客户端和应用程序访问。 它们一直保持到服务器停止。
局部变量
使用 ColdFusion 页面中的 CFSET 标记或 CFPARAM 标记创建。