CGI脚本工作原理

[09-12 13:08:10]   来源:http://www.88dzw.com  电路基础   阅读:8686

文章摘要: <-- Page Break --> The value entered was:Name=John+Smith gcc simpleform.c -o simpleform.cgi#include #include int main(){ printf("Content-type:text/htmlnn"); printf("n"); printf("n"); printf(" The value entered was:") printf(&q

CGI脚本工作原理,标签:电子电路基础,模拟电路基础,http://www.88dzw.com
 
<-- Page Break -->
    The value entered was:Name=John+Smith
    gcc simpleform.c -o simpleform.cgi
#include 
#include 

int main()
{
  printf("Content-type:text/htmlnn");
  printf("n");
  printf("n");
  printf("
        
    The value entered was:")
printf("%sn", getenv("QUERY_STRING"));
printf("n");
printf("n");
return 0;
}
A super-simple form
Enter Your Name:
http://www.lycos.com/cgi-bin/pursuit?matchmode=and andcat=lycosandquery
创建真实表单
一个真实的表单将包含各种输入区域,并需要在脚本中编写一些代码来撤消字符映射并分析出单个字符串。让我们先看看表单上的标准输入控件。这些控件包括: 
  • 单行文本输入
  • 多行文本输入
  • 选择列表
  • 复选框
  • 单选按钮
  • 专用按钮 - 用于提交或清除表单
正如在任何其他网页上一样,你可以将这些控件与其他静态文本和图形组合在一起。

以下的一些示例演示了如何使用不同的控件标记:

单行编辑
“input”一词标识单行编辑区域。“name”字段为控件提供了一个用于 CGI 脚本的标识符,此标识符对于表单上的每个控件都应是唯一的。“size”字段指示表单上的输入区域的宽度(以字符为单位);“Maxlength”对输入区域内的最大字符数进行限制。“value”设置初始值。

Enter Name:<input name=andquot;Nameandquot; size=30 maxlength=50
value=andquot;Sampleandquot;>

通常,输入区域的前面是一段静态文本,用于标识输入字段的用途。此处显示的是静态文本“Enter Name:”。

可以添加值“type=int”,以便将输入限制为整数值。默认情况下,值的类型为“text”,可接受任何字符。

多行编辑
多行编辑区域与输入区域类似。你可定义该控件的名称,并定义其在表单上的大小(以行和列为单位)。你在 标记之前输入的任何内容都将作为默认值出现在控件中。

<textarea name=andquot;Company Addressandquot; cols=30
rows=4></textarea>

复选框
复选框是类型设置为“checkbox”的特殊形式的输入区域。

<input type=checkbox name=andquot;Includeandquot; value=1>

如果选中复选框,则将返回值。

单选按钮
单选按钮与复选框类似,但它们可以组合在一起呈现:

Choose the search area:<br>
<input type=radio CHECKED name=universe value=US-STOCK>
Stocks
<input type=radio name=universe value=CA-STOCK>
Canadian Stocks
<input type=radio name=universe value=MMF>
Money Markets
<input type=radio name=universe value=MUTUAL>
Mutual Funds

请注意,可以用 CHECKED 一词来标记默认的单选按钮。还请注意,同一组中的所有单选按钮的名称是相同的。

选择列表
选择列表使用户可以在许多选项中进行选择。选择列表的标记可让你在“size”字段中指定可见行的数目,并可让你指定所有选项的值。

Select an Option<br>
<SELECT size=2 NAME=andquot;Optionandquot;>
    <OPTION> Option 1
    <OPTION> Option 2
    <OPTION> Option 3
    <OPTION> Option 4
</SELECT>

MULTIPLE 一词将创建多选功能。

专用按钮
下列标记将创建两个专用按钮,一个按钮用于向服务器提交表单,另一个按钮用于重置表单:

<INPUT TYPE=submit value=andquot;Submitandquot;>
<INPUT TYPE=reset value=andquot;Resetandquot;>
 
示例:创建网页问卷
 
假设您要为某个网页创建一份简单的问卷。例如,您想要询问读者的姓名、性别、年龄和意见,然后在CGI脚本中进行处理。HTML表单可能存在于一个名为http://www.bowenwang.com.cn/survey.htm的文件中,形式如下: 
 
<html>
<body>
<h1>BWW Survey Form<h1>
<FORM METHOD=POST ACTION="http:
//www.bowenwang.com.cn/cgi-bin/survey.cgi">
Enter Your Name:
<input name="Name" size=20 maxlength=50>
<P>Enter your sex:
<input type=radio CHECKED name=sex value=MALE>Male
<input type=radio name=sex value=FEMALE>Female
<P>Select your age<br>
<SELECT size=2 NAME=age>
<OPTION> 1-10
<OPTION> 11-20
<OPTION> 21-30
<OPTION> 31-40
<OPTION> 41-50
<OPTION> 51-60
<OPTION> 61 and up
</SELECT>
<P>Enter Your Comment:
<input name="Name" size=40 maxlength=100>
<P>
<INPUT TYPE=submit value="Submit">
<INPUT TYPE=reset value="Reset">
</FORM>
</body>
</html>
 
此表单引用的CGI脚本将接收四条不同的数据:提交表单的读者的姓名、年龄、性别和意见。脚本将对这四个值进行分析并处理所有字符转换。文件http://www.bowenwang.com.cn/survey.c用于创建脚本survey.cgi,其长度可能为100行。
 
关于CGI的一些知识
 
在这个关于CGI脚本的简明教程中,我们已了解到: 
  • CGI脚本是一个程序——通常为C语言程序或PERL脚本。

  • 在大多数服务器上,CGI脚本位于一个名为cgi-bin的目录中。当浏览器请求脚本的URL时,将执行该脚本。

  • 脚本发送给STDOUT的任何内容都将被发送给浏览器。首先发送字符串“Content-type: text/htmlnn”。然后,再发送其他内容;但是一般来说,将发送有效HTML文档的有效HTML标记。

  • 通过创建HTML表单并使用其中的 ACTION指定脚本的URL,可将输入内容发送给脚本。

  • 当脚本接收到表单中的数据后,需要分析出不同的字符串并转换所有修改过的字符。我们演示了一个可以执行这些任务的简单C语言程序。PERL的CGI库(参见下一页)使PERL脚本可以轻松转换。
如果您在真实的网站上这样做,那么通常会将每次调查的结果存储在一个文本文件或数据库中,以便日后查看。利用C语言程序或PERL脚本很容易做到这一点。

上一页  [1] [2] [3] [4] 


Tag:电路基础电子电路基础,模拟电路基础电路基础

《CGI脚本工作原理》相关文章