您的位置:首页 > 网络编程 > CGI/perl

cgi学习简明教程

日期:2005-10-22 00:00:00 点击: 来自: 作者:

第一章:基础的基础CGI/PERL学习

    1.1 为什么使用CGI?

    我没有把什么是CGI放在基础篇的第一段,是因为实在很难说明白到底什么是CGI.

    而如果你先知道CGI有什么作用,将会很好的理解CGI是什么这个概念。 CGI可以为我们

    提供许多HTML无法做到的功能。比如a.一个记数器; b.顾客信息表格的提交以及统计;

    c.搜索程序;d.WEB数据库等等。

    用Html是没有办法记住客户的任何信息的,就算用户愿意让你知道。用Html也是无法

    把信息记录到某一个特定文件里的。要把客户段的信息记录在服务器的硬盘上,就要用到

    CGI. 这是CGI最重要的作用,它补充了Html的不足。是的,仅仅是补充,不是替代。

    1.2 CGI是什么?

    好了,现在我们来说到底什么是CGI.Common Gate Intergace听起来让人有些专业,

    我们就管它叫CGI好了。在物理上,CGI是一段程序,它运行在Server上,提供同客户段

    Html页面的接口。这样说大概还不好理解。那么我们看一个实际例子: 现在的个人主页

    上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户段输入一些信息,

    如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把

    这些信息传送到服务器的cgi目录下特定的cgi程序中,于是cgi程序在服务器上按照预定

    的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客

    户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”

    的字样。整个过程结束。

    1.3 选择你熟悉的编程语言

    既然CGI是一种程序,自然需要用编程语言来写。你可以用任何一种你熟悉的高级语言,

    C,C++,C shell和VB.值得特别指出的,有一种叫Perl的语言。其前身是属于Unix专用的

    高级语言,其具有强大的字符串处理能力而成为现在写CGI,特别是表单类程序的首选。最

    近它已经有了Window95,和winnt版本。你可以在搜索程序里找到在那里下载它。 VB是Ms

    的杀手锏,从目前的情况看,微软公司正试图使VB无所不能。自然也包括在Internet 请各

    位注意,VB开发的程序只能在windows平台上被执行,所以它有一定局限。 C Shell,经典

    的语言。可惜能做的事情不多,而且必须在Unix平台下。 C,C++,正真的无所不能。可是

    在写CGI的时候显得非常难以掌握。特别是缺乏可以灵活使用的字符串处理函数。对程序员

    的要求也比较高,维护复杂。 最后要提醒各位,因为CGI是Server和Clinet的接口,所以

    对于不同的Server,CGI程序的移值是一个很复杂的问题。一般对于不同的Server,决没有

    两个可以互相通用的CGI.实际上 这就是CGI程序最复杂的地方。

    1.4 安全

    我想各位敏感的朋友又要问我关于安全性能的问题了。实际上CGI是比较安全的,至少

    比那些没有数字签名的ActiveX控件要安全的多。除非你有意在程序里加入了破坏Server的

    命令, 否则一般不会有什么严重的后果。而个人网站不向大众开放CGI目录,则因为怕各位

    学习不精,无端增加服务器的负担,所以一般不提供。

    小结:本章讲述了CGI基本概念,也说明了各种编程语言的优缺点,同时解释了为什么个人

    网站不提供CGI的原因。接下来我们开始正式学习。


第二章 Html的表单基础知识

    组成Cgi程序的是两部分,一部分是html页面,就是用户看到的东西。另一部分则是运

    行在服务器上的程序。一般来说,我们先写html页面,再写程序。所以我们的学习页是这样,

    先看看表单的写法,再去学习CGI程序。

    对于html的表单,有比较复杂和详细的规定。但由于它们是属于html标准里的东西,所

    以我不打算详细讲解。最好是你自己找本书看看。

    Html表单

    <Form></Form>标记把输入域组合起来,并且说明了表单提交的方式和地点。Form标签有许

    多属性,比如NAME等等。具体的属性,将在使用的时候说明。

    在FORM里还有许多不同的标签,正是它们组成了表单的各种成分。

    <INPUT [TYPE=TEXT] NAME="TEXT-ID" [SIZE=NN] [MAXLENGTH=NN]

    [VALUE='DEFAULT TEXT']>

    该语句在HTML里产生一个文本标签,[]里表示该属性是可选的。

    <INPUT TYPE=SUBMIT [NAME='BUTTON-ID'][VALUE="BUTTON LABLE TEXT"]>

    该语句产生一个提交按键,用于表单的提交。它提供一个发送表单的按纽,信息发向<FORM>

    标记里ACTION属性里给出的URL.根据表单方法(METHOD)指定的HTTP请求类型 提交信息。

    在以后我将详细讲解。

    <INPUT TYPE=RESET[VALUE='BUTTON LABEL TEXT']>

    具有TYPE=RESET属性的INPUT将产生一个按钮,它能重置表单各个域 的内容到初始状态。

    <INPUT TYPE=RADIO NAME="RADIO-SET -ID" vALUE="CHOICE-ID" [CHECKED]>

    表单可以用此标记提示用户从几个选择项里作出选择。么个选择项目都是一个单选按钮它们

    具有相同的NAME值。在任何时候只要有一个被选中。此标记有一个VALUE属性,如果它被选

    中,则发送表单时将以"RADIO-SET-ID=CHOICE-ID"的形式发送。

    <INPUT TYPE=CHECKBOX NAME='BOX-SET-ID' VALUE='CHOICE-ID' [CHECKED]>

    此标签将产生一个'OFF'或'ON'的开关。它同RADIO相似,但是可以多选。当提交表单的时候如

    果一个复选框是选中的饿,那么它的VALUE属性作为BOX-SET-ID表单数据的值被提交。几个

    拥有同样NAME属性的复选框为一组。它们用','分开的列表。

扩展信息 Expand Information
More..素材图片 Picture Navigation
相关链接 Correlation Link
最新CGI/perl New Article
CGI/perl热门 Class Hot
CGI/perl推荐 Class Commend
版权所有:中国网站资源 2005- 未经授权禁止复制或建立镜像 This Site Tech:XHTML+DIV+CSS+Javascript
CopyRight ® 2005- www.chinaddv.com online services. all rights reserved. ICP06016627
Optimized to 1024x768 to Firefox,Netscape,Opera,MS-IE6+.