PERL编程24学时教程——19 复杂窗体.pdf

PERL编程24学时教程——19 复杂窗体.pdf

ID:51493204

大小:381.04 KB

页数:9页

时间:2020-03-25

PERL编程24学时教程——19 复杂窗体.pdf_第1页
PERL编程24学时教程——19 复杂窗体.pdf_第2页
PERL编程24学时教程——19 复杂窗体.pdf_第3页
PERL编程24学时教程——19 复杂窗体.pdf_第4页
PERL编程24学时教程——19 复杂窗体.pdf_第5页
资源描述:

《PERL编程24学时教程——19 复杂窗体.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、下载第19学时复杂窗体Web上的窗体不只是简单的单页面窗体。有时窗体要跨越若干页。这些复杂的窗体以调查、查询和购物车等应用程序的形式出现。这些比较复杂的窗体需要使用某些不同的编程技巧,本学时你将要学习这些技巧。在本学时中,你将要学习:¥如何创建多页窗体。19.1复杂的多页窗体使用CGI程序来编写复杂的多页窗体时,你会遇到一个特殊的编程难题。Web浏览器与Web服务器之间的连接根本不是一个持久的连接。Web浏览器与服务器建立连接,检查Web页,然后便断开与Web服务器之间的连接。在服务器与你的Web浏览器之间并不保持不间断的连接。更为复杂的是:浏览器每次与Web服务器连接时,Web服务器并

2、不认为该浏览器预先访问过该站点。服务器并不每次都能很容易地识别该浏览器。类似的一种情况是:图书馆的读者与没有记忆力的图书馆管理员之间进行谈话,读者每次只能向管理员提出一个问题。读者向图书管理员借阅一本书,比如关于亚利桑那州的一本书,图书管理员可以检索这本书。图书管理员之所以能够检索这本书,是因为这个请求很容易满足。但是读者不能要求借阅同一个专题的另一本书。图书管理员不能记住上一个借书请求,因此他无法借给你同一个专题的另一本书。如果借书的请求改为“给我另一本关于亚利桑那州的书”,图书管理员仍然无法满足读者的要求,因为他检索的书可能与第一次检索的这本书一样。若要检索同一专题的第二本书,惟一的

3、办法是说:“我需要另一本关于亚利桑那州的书,我已经有了一本名叫《在亚利桑那州定居》的书”。这个借阅请求带有足够的能够说明问题的信息,使图书管理员能够知道什么应答是不适当的。为Web页编写多页窗体,也可以使用同样的解决办法。每个问题/答复会话必须包含足够的信息,使Web服务器能够知道它需要做什么。你可以用几种不同的方法来创建这样的会话,其中的一种方法,即使用隐藏的HTML域,将在本学时中介绍。19.2隐藏域要使Web窗体能够“记住”信息,最容易的方法是使用隐藏域,将以前的信息嵌入Web窗体。隐藏域是HTML窗体的组成部分,它使域和值成为HTML的组成部分,但是在显示窗体时,窗体中并不出现这

4、些域和值。在HTML中,这些域和值编写为下面的形式:如果将上面的HTML代码放入一个窗体,新的名字(“fullname”)和值(“PinkFloyd”)将成为窗体的组成部分。如果该窗体被提交给一个PerlCGI程序,param函数将返回一个关键字和隐藏域的值。218使用第三部分将Perl用于CGI下载在线商店如果要举一个如何使用隐藏域的例子,可以看一看在线商店,它使用一系列的Web页,使人们能够根据在线目录来选购商品。目前,我们只是向你介绍复杂窗体的运行情况,在本学时后面部分的内容中,要介绍另一个复杂的窗体,它包含用于创建一个在线调查的代码。如果不能实现某种形式的安全Web事务处理,那么

5、请不要使用这个在线商店的例子,请注意,这个例子并不包含任何真实的个人信息,如电话号码或信用卡号码等,因为隐藏域就像正规的HTML窗体,它根本不具备任何安全性。图19-1所示的在线商店第一页显示了该商店的商品清单。图19-1在线商店的第一页当用户单击GotoStore(去商店)按钮时,CGI程序接收来自窗体的值,然后显示完整的目录,如图19-2所示。图19-2显示在线商店的商品目录第二页显示完整的目录。当第一页(带有商店拥有商品的目录)提交时,CGI程序接收各个值,然后当它为完整的目录输出HTML时,它将商品的指定数量作为隐藏域放入新窗体。每当CGI程序接收来自HTML窗体的值时,新页将包

6、含隐藏域中的旧值,以及普通窗体元素中的新值。采用这个方法,你可以避免“健忘的图书管理员”存在的问题,当提交完整目录的窗体时,窗体中的隐藏域便提醒CGI程序从第一个窗体中选定哪些项目以及从当前窗体中选择哪些项目。如果需要第三页,前两页中的值可以作为隐藏域存放在第三页上,如图19-3所示。关于HTML页上的隐藏域,有几个问题应该加以说明。首先,隐藏域中的值是任何人都能够查看的。若要查看这些值,用户只需要查看该页的HTML源代码。大多数Web浏览器都配有一个选项,可以用于查看HTML源代码。其次,隐藏域中的值可以由远程用户进行修改,如果他们确实想要这样做的话。若要修第19学时复杂窗体使用219

7、下载改隐藏域的值,可以使用修改后的Web浏览器,或者使用HTTP人工提交该窗体。例如,在线商店不应该将价格存放在隐藏域中,它只能存放数量。CGI程序应该在需要显示价格时才查看价格。图19-3在线商店的发货信息当你设计窗体时,看一看别人是如何设计窗体的,这将会对你有所帮助。这样你也会对他们是否使用隐藏域来保存信息这个问题有所了解。大多数Web浏览器都有一个ViewPageSource(查看页源)选项。你应该将这个选项用在任意窗体上,以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。