制作網(wǎng)站get表單 表單get方式提交
作者:佚名 時(shí)間:2014-04-10 分享到:
處理GET表單
將表單參數(shù)從客戶端傳遞給服務(wù)器有兩種方法,其中一種是GET方法。在這種方式下,文本作為URL的一部分被傳遞,而該URL可以調(diào)用服務(wù)器端的表單應(yīng)用程序,一個(gè)典型的GET類(lèi)型應(yīng)用程序也許會(huì)像下面這樣調(diào)用URL;
http://www.ktcbnqb.cn/cgi一bin/dump_get?name=bob&phone=555一1212
當(dāng)服務(wù)器處理這個(gè)URL時(shí),它會(huì)調(diào)用保存在目錄cgi-bin/下的名稱為dump_get的應(yīng)用程序。問(wèn)號(hào)后的所有東西都會(huì)作為參數(shù)傳送給應(yīng)用程序。
根據(jù)GET類(lèi)型URL的本質(zhì),事情在這個(gè)地方會(huì)有些變化。由于表單在URL中設(shè)置了名稱/值對(duì),有可能只用URL中的值就可調(diào)用一個(gè)GET類(lèi)型的應(yīng)用程序。這樣:
http://www.61916 .com/cgi一bin/dump_get? bob+555一1212
也是一個(gè)有效的調(diào)用,只是參數(shù)之間用加號(hào)(+)分隔。當(dāng)應(yīng)用程序可以被可搜索文件用<isindex>標(biāo)簽索引時(shí),這是一個(gè)很普遍的調(diào)用。用戶輸入到文檔文本記錄字段內(nèi)的參數(shù),用“+”分隔后作為未命名的參數(shù)傳送給服務(wù)器端應(yīng)用程序。
如果用命名了的參數(shù)調(diào)用GET應(yīng)用程序,服務(wù)器會(huì)以一種方式將這些參數(shù)傳送給應(yīng)用程序,而未命名的參數(shù)是以一種完全不同的方式傳送的。
在GET應(yīng)用程序中使用命名的參數(shù)
通過(guò)生成一個(gè)叫QUERY_STR工NG的環(huán)境變量,并將跟在問(wèn)號(hào)后的URL的全部?jī)?nèi)容設(shè)為它的值,可以把命名的參數(shù)傳送給GET應(yīng)用程序。用我們以前的示例,QUERY_STRING的值應(yīng)該設(shè)為:name=bob&phone=555一1212
應(yīng)用程序必須獲取這個(gè)變量,并從中提取出參數(shù)的name/value對(duì)。幸運(yùn)的是,大多數(shù)服務(wù)器都提供了一組工具例程,這些例程可以為你完成該任務(wù)。
數(shù)名字?jǐn)?shù)值這樣的應(yīng)用例程(注7)。程序的主體利用getEnv {}系統(tǒng)調(diào)用來(lái)獲得QU}RY_STR工NG環(huán)境變量的值,然后用應(yīng)用例程從該值中提取參數(shù),最后產(chǎn)生一個(gè)簡(jiǎn)單的HTML文件,將這些值回顯給用戶。
對(duì)于真正的應(yīng)用程序,應(yīng)該在參數(shù)獲取之后和HTML產(chǎn)生之前擂人真正的處理代碼。當(dāng)然,還需要改變HTML的生成,讓它和應(yīng)用程序的功能相匹配。
在GET應(yīng)用程序中使用未命名的參數(shù)
未命名參數(shù)是作為命令行的參數(shù)傳給應(yīng)用程序的。這使得編寫(xiě)服務(wù)器端應(yīng)用程序的工作非常繁瑣。下面是一個(gè)簡(jiǎn)單的shell命令表,它能轉(zhuǎn)儲(chǔ)參數(shù)值,并將結(jié)果返給用戶。
我們還是遵循一樣的樣式:輸出一個(gè)通常的文檔首部,包括MIME Content-Type,后面接著是參數(shù)和一些樣板文件的結(jié)束部分。為了將這些變成一個(gè)真正的應(yīng)用程序,將foreach循環(huán)替換成一些真正起作用的命令就行了。