CGI教程(8)

来源:设计前沿收集 作者:未知 时间:2005-05-31
表单的提交

下面先讲讲Method = GET:

当提交按钮被按下,表单的内容将被汇编到查询URL中,如下所示:

action?name=value&name=value&name=value

"action"由FORM标签设置的ACTION指定的URL,或者如果没有ACTION属性没有被指定的时候,是当前的文档URL。

在"name" 或者 "value"任何实例中奇怪的字符都将被视为正常的字符,当然包括"=" 和 "&"等等。这里注意,"="是分离名字和数值,而"&"示分离名字/数值对的。

对于文本和密码域,不管用户键入什么都将视为数值。如果用户没有键入任何的内容,这个数值将是空,但是"name="还是会出现。 对于复选框和无线电按钮,VALUE属性指定了复选框或者无线电按钮被选中的时候的值。一个未选中的复选框会在汇编查询字符串的时候被忽视。多个复选框可以有相同的名字(和不同的数值)。多个无线电按钮是用于多选一的情况,它可以有相同的名字但是不同的数值。

再来谈谈Method = POST吧:

表单的内容跟上面讲述的GET方法的编码是一样的,但是不是将它们附加到URL由于表单ACTION属性指定为查询,而是这些内容将作为POST操作的一部分以数据块发送的。这个ACTION属性是数据块要POST的URL。


测试服务器

如果你想编写原型的表单并对它在查询服务器上进行测试,你可以编写如下代码:

对于 METHOD="POST", 使用 ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/post-query"

对于 METHOD="GET", 使用 ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/query"