返回
中国计算机报1999年第69期

Perl Builder:助你更好地编写CGI程序

WAC

  现在做主页的工具是五花八门,从老元级的FrontPage和PhotoShop到现在的Dreamweaver和Firework。到网上一看真叫人眼花缭乱。可是一个好的主页不但要界面美观而且技术上要过得去,所以有时要用CGI等编写的脚本来丰富自己的网页,但是写CGI可不是一件容易的事,因为编写CGI的语言有Shell Script、Visual Basic、Perl、C、C++这么多种,所以在编写之前要选择一种自己熟悉的语言。如果您是一个初学者,以上的语言都不会,我还是建议您学习Perl,因为它是现在最受欢迎,最容易学习的CGI编程语言。好了,今天我就给大家介绍一款极好的32位CGI编写器,它就是Perl Builder。下面介绍一下它的基本用法!


  下载安装


  首先您能从天堂软件网站(http://personal.wol.com.cn/paradise)下,软件下载栏目的主页制作里得到这个软件(1.48MB),但是它是一个试用版本,只能用14天,14天后系统就要求您注册了。它是一个自解压的EXE文件,双击后就可以顺利完成。


  软件介绍


  进入这个软件后,可看到如图1的界面。其中有Main Script、Input Values和Output: HTML/Text三个标签页,它们分别是:
int66_1.jpg (17518 字节)
  图1

  主脚本编写页。在空白处,您可以写入Perl的脚本,在不同的代码之间,软件会自动以不同颜色显示,方便作者查找和修改。

  表单数据读取页。您能选择带有表单的页面并读取它,读取后能看到表单中的变量,这时您可以对它们进行操作。

  HTML/Text输出页。当得到表单变量,并写好相关CGI脚本时,您可以按F9或工具栏上的三角形按钮查看脚本输出结果,这时软件会自动弹到HTML/Text输出页并显示输出HTML的源代码,最下面有个“View in Browser”按钮,点击后,您可以从浏览器中观看输出结果。如果您的脚本有错误,软件就不会弹到HTML/Text输出页,而会出现一个Error的页面,您双击错误的地方,就能直接弹到那一行,方便吧!


  创建您的第一个CGI脚本


  如果您是一个新手,但是又想做些Web页发信的简单程序的话,那您可就找对了,Perl Builder的向导程序能方便地为您创建出这样的脚本,而且一分钟搞定。下面我们做一个通过Web页发信的CGI程序,首先把下面的HTML的源代码拷贝到HTML的编写器里并存盘:

  〈html〉

  〈head〉〈/head〉

  〈body〉

  〈form method=″POST″ action=″webmail.cgi″〉

  姓名:〈input type=″text″ name=″xingming″ size=″20″〉〈br〉

  邮箱:〈input type=″text″ name=″youxiang″ size=″20″〉〈br〉

  内容:〈textarea rows=″2″ name=″neirong″ cols=″20″〉〈/textarea〉

  〈input type=″submit″ value=″提交″〉

  〈input type=″reset″ value=″复原″〉

  〈/form〉〈/body〉〈/html〉

  然后选择选单栏上Tool下的CGI Wizard,或者按ALT+T+C键后就能看到CGI的创建向导了。第一步(读取表单数据)见图2,点击“Select〉〉”按钮,选择刚才新建立的文件(就是储存上面那段代码的HTML文件,我们现在假定文件名为webmail.htm),选择后会看到“The input variables(fields)for your script are listed below”栏下多出了几个变量,它们分别是表单里姓名、邮箱和内容的变量。点击最下面的“Next 〉”按钮,进行第二步(变量设置)见图3,这里允许您对表单中的变量进行确认,怎么确认法呢?从“Select the input field you want to validata”栏中选择一个变量,(依我们这个表单来看会出现3个变量,分别是:$xingming、$youxiang、$neirong),接着在“Require that the value entered in this field be”栏下选择要怎样确认变量。
int66_2.jpg (30367 字节)
  图2
int66_3.jpg (33156 字节)
  图3

  我分别讲讲此栏下选框的含义:“Anything(No Validation)”的意思是这个变量不需要确认;“A number”的意思是说这个变量必须是“At least”和“Not more than”之间的数字;“Non-blank”的意思是这个变量不允许为空白;“Exactly equal to”的意思是变量必须是Exactly equal to后填写的值;“in E-mail address format”说明这个变量的值必须是E-mail格式,如果您想了解填表人的正确邮箱,那么我们表单里的$youxiang变量就应该用这个选项。下面还有两个复选框“Require that the value endtered have exactly...characters/digits”和“Field mey be left blank”,第一个复选框的意思是变量的长度必须为多少个数字或字节,默认值是5个;第二个复选框的意思是变量可以不填写值。眼睛再向下面看一行,会看到“Error Message if condition is not met”的文本框,这个文本框很重要,如果系统找到不符合以上条件的变量就会返回“Error Message if condition is not met”文本框里的值,换句话就是说在这个文本框里应填写返回的错误信息,比如您选择了$youxiang(邮箱)这个变量和必须是E-mail格式的条件,您就应该在这个文本框里填写“对不起,您没有提交您的邮箱或邮箱格式无效!”之类的话。

  变量设置完成后,可以跳到第三步(发送邮件)见图4,Perl Builder的CGI向导允许您一次发送5封邮件,这时点击“Message #1”按钮开始创建我们的第一封邮件,点击后会看到如图5的邮件编辑器的界面,其中,“Send this email only if”选框意思是说,要满足某种条件才发送此邮件,比如填写 $xingming eq "wac" ,这时系统就会进行判断,如果姓名变量为wac时,才会发送邮件,反之不发送。“To”文本框应填写接收此邮件的邮箱;“From”文本框应填写发件人的邮箱,根据我们的表单,就可以从“From”中选择出$youxiang变量,因为$youxiang变量就是发件人的邮箱;“Subject”文本框里应填写邮件的主题;在下面的大文本框里应填写邮件的内容,根据我们的表单您可以从“Insert Field/Variable”中选择$neirong变量,因为$neirong变量就是邮件的内容,选择后在大文本框里会自动加入此变量。
int66_4.jpg (19312 字节)
  图4
int66_5.jpg (29508 字节)
  图5

  接下来就是最后一个步骤了,这个步骤的功能是,当没有发现错误并通过所有条件时,返回一个成功提交的页面,这里只有两个选项,选择选项“Generate page dynamically”时,就按下面的“Select〉〉”按钮,选择一个页面,当然这个页面里要含有比如“提交成功了!”、“谢谢您的提交,我会尽快与您联系!”等类似的话;选择选项“Redirect the user to an exiting webpage”时,就在下面的的文本框里填写一个URL,当提交成功后系统就会重定向到这个URL。完成后就按最下面的“Finish”按钮,会看到Main Script标签页出现了Perl的脚本,把它保存为webmail.cgi,然后和新建立的webmail.htm文件放在同一个目录上传到服务器,并把webmail.cgi的属性改成755,当然您的服务器必须要开放个人CGI权限,您可以通过调用服务器上的webmail.htm来测试您的CGI脚本!