欢迎来到天天文库
浏览记录
ID:9499339
大小:68.00 KB
页数:11页
时间:2018-05-01
《mysql入门系列:在web应用程序中使用dbi--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Mysql入门系列:在Web应用程序中使用DBI>> 迄今为止,我们编写的DBI脚本用于命令行环境中的命令解释程序,但DBI在其他环境下也是有用的,例如在基于L输出的便利方法,与编写自己原始的HTML标记相比,它减少了编写难看的HTML的机会。 在本章中,您将学到足够有关CGI.pm的知识来编写自己的L文档树)、cgi-bin(可执行的脚本和od500script_name 可能需要用或root运行这些命令。如果不允许在cgi-bin目录下安装脚本,则可以请求系统管理员代表您来这样做。 安装这个脚本之后,通过向e/cgi-bin/script_name
2、 从od_perl的CGI脚本,则可以这样做: 1)确保至少有以下版本的必需软件:Perl5.004、CGI.pm2.36和mod_perl1.07。 2)确保将mod_perl编译为Apache可执行的文件。 3)建立一个存储脚本的目录。我使用了/usr/local/apache/cgi-perl。cgi-bin不应该位于Apache文档树的内部,出于同样的安全原因,cgi-perl目录也不应该在那里。 4)告知Apache,与位于cgi-perl目录中的脚本mod_perl相关联: 如果正在使用Apache的当前版本,这个版本使用单个的配置
3、文件,则将所有这些指示放在httpd.conf中。如果Apache的版本使用三个旧文件的方法来配置信息,则将Alias指示放入srm.conf中,将Location行放入access.conf中。对于cgi-perl目录,不要启用mod_perl、PerlSendHeader或PerlSetupEnv指示。这些由CGI.pm自动地处理,启用它们可能导致处理冲突。 mod_perl脚本的URL与标准的CGI脚本的URL相类似。唯一的不同之处在于指定cgi-perl而不是cgi-bin。 your.host.name/cgi-perl/script_name
4、 有关的123456下一页>>>>这篇文章来自..,。详细信息,请参阅下面地址的ApacheyHeading); CGI.pm也支持允许以函数调用它的方法的使用风格,而不用前导的$cgi->。在这里,我没有使用这个语法,是因为$cgi->符号更类似于使用DBI的方式,还因为它防止CGI.pm函数名与可以定义的任何函数名产生冲突。 1.检查输入参数,并编写输出 CGI.pm所做的事情之一就是照看所有丑陋的细节,这些细节涉及到收集由L文档: 这个代码使用$cgi来产生等价的文档: 使用CGI.pm生成输出,而不是编写自己原始的HT
5、ML,这样做的一些优点是,可以按逻辑单元考虑,而不是按单独的组成标识来考虑,而且HTML不太可能含有错误(我说不太可能的原因是CGI.pm不禁止做古怪的事情,如含有一列内部的标题)。除此之外,对于 编写的非标记文本,CGI.pm提供自动的字符转义,如HTML中指定的<和>。 如果愿意,CGI.pm生成输出方法的使用并不排斥编写自己原始的HTML。可以将这两种方法混合起来,组合调用具有生成文字标识的显示语句的CGI.pm方法。 2.转义的HTML和URL文本 如果经CGI.pm方法,如start_html()或h1(),编写非标记的文本,则自
6、动地转义文本中的特定字符。例如,如果使用下面的语句生成标题,则标题文本中的字符将由CGI.pm转换为amp;: print$CGI->start_html(-title=>A,BC); 如果不使用CGI.pm生成输出的方法编写非标记的文本,则可能应该先让它经过escapeHTML(),以便确保可以正确地转义任何指定的字符。当构造可能含有特定字符的URL时也是这样,尽管在那种情况下应该使用escape()方法来代替它。使用适当的编码方法是很重要的,因为每种方法都将不同的字符集作为特殊的字符来对待,并使用彼此不同的格式来对待特殊的字符编码。考虑下面
7、简短的Perl脚本: 如果运行这个脚本,则它生成下面的输出,从这里可以看到HTML文本的编码不同于URL的编码: 3.编写多目的页面 编写基于L,而不是编写静态的HTML文档的主要原因之一是,根据调用方式,脚本可以产生不同类型的页面。我们将要编写的所有CGI脚本都有这种特性。每一个都像下面这样操作: 1)当从浏览器第一次请求这个脚本时,它生成一个初始页面,允许选择想要的信息类型。 2)当做了选择以后,重新调用这个脚本,但是,这次它在第二页检索,并显示请求的特定信息。 这里的主要问题是想从第一页的选择中确定第二页的内容,但是,通常()方法,能
8、够找出提交的内容。这就是我们对第三个C
此文档下载收益归作者所有