制作网站get表单 表单get方式提交
作者:佚名 时间:2014-04-10
处理GET表单
将表单参数从客户端传递给服务器有两种方法,其中一种是GET方法。在这种方式下,文本作为URL的一部分被传递,而该URL可以调用服务器端的表单应用程序,一个典型的GET类型应用程序也许会像下面这样调用URL;
http://www.linksj.com/cgi一bin/dump_get?name=bob&phone=555一1212
当服务器处理这个URL时,它会调用保存在目录cgi-bin/下的名称为dump_get的应用程序。问号后的所有东西都会作为参数传送给应用程序。
根据GET类型URL的本质,事情在这个地方会有些变化。由于表单在URL中设置了名称/值对,有可能只用URL中的值就可调用一个GET类型的应用程序。这样:
http://www.61916 .com/cgi一bin/dump_get? bob+555一1212
也是一个有效的调用,只是参数之间用加号(+)分隔。当应用程序可以被可搜索文件用<isindex>标签索引时,这是一个很普遍的调用。用户输入到文档文本记录字段内的参数,用“+”分隔后作为未命名的参数传送给服务器端应用程序。
如果用命名了的参数调用GET应用程序,服务器会以一种方式将这些参数传送给应用程序,而未命名的参数是以一种完全不同的方式传送的。
在GET应用程序中使用命名的参数
通过生成一个叫QUERY_STR工NG的环境变量,并将跟在问号后的URL的全部内容设为它的值,可以把命名的参数传送给GET应用程序。用我们以前的示例,QUERY_STRING的值应该设为:name=bob&phone=555一1212
应用程序必须获取这个变量,并从中提取出参数的name/value对。幸运的是,大多数服务器都提供了一组工具例程,这些例程可以为你完成该任务。
数名字数值这样的应用例程(注7)。程序的主体利用getEnv {}系统调用来获得QU}RY_STR工NG环境变量的值,然后用应用例程从该值中提取参数,最后产生一个简单的HTML文件,将这些值回显给用户。
对于真正的应用程序,应该在参数获取之后和HTML产生之前擂人真正的处理代码。当然,还需要改变HTML的生成,让它和应用程序的功能相匹配。
在GET应用程序中使用未命名的参数
未命名参数是作为命令行的参数传给应用程序的。这使得编写服务器端应用程序的工作非常繁琐。下面是一个简单的shell命令表,它能转储参数值,并将结果返给用户。
我们还是遵循一样的样式:输出一个通常的文档首部,包括MIME Content-Type,后面接着是参数和一些样板文件的结束部分。为了将这些变成一个真正的应用程序,将foreach循环替换成一些真正起作用的命令就行了。