亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

asp 讀取通過表單發送的post數據

2024-05-04 11:08:03
字體:
來源:轉載
供稿:網友
學習ASP,最重要的就是要掌握ASP內置的六大對象,如果以前沒接觸過,聰明的您就不要管這些概念了,知道怎么用就行了,我的觀點是剛開始關鍵在于臨摹
 
 
 
學習ASP,最重要的就是要掌握ASP內置的六大對象。事實上,在上一講中,我們已經了解了Response對象,及Response對象中最常用的Write方法、Redirect方法和Expires屬性??吹綄ο蟆⒎椒?、屬性、集合、事件這些概念(俺一個都不識?。?,如果以前沒接觸過,聰明的您就不要管這些概念了,知道怎么用就行了,我的觀點是剛開始關鍵在于臨摹。下面我們繼續通過實例學習Request對象,為了加深理解,務請運行這些程序看看輸出結果。

一、 使用Request.ServerVariables獲取環境變量,這部分內容很簡單,但獲取的內容卻很重要,如何獲???請看下例: 
復制代碼代碼如下:

<%@ Language=VBScript %> 
<HTML><BODY> 
<% 'wuf8.asp 
Response.Write "運行ASP文件的路徑: " &_ 
Request.ServerVariables("Script_Name") & "<Br>" 
Response.Write "返回content的數據長度: " &_ 
Request.ServerVariables("Content_Length") & "<Br>" 
Response.Write "返回客戶的IP地址: " &_ 
Request.ServerVariables("Remote_Addr") & "<Br>" 
Response.Write "瀏覽器名: " &_ 
Request.ServerVariables("HTTP_USER_AGENT") & "<Br>" 
Response.Write "返回主頁實際物理路徑: " &_ 
Request.ServerVariables("APPL_PHYSICAL_PATH") & "<Br>" 
%> 
<table colspan=8 cellpadding=5 border=0> 
<tr> 
<td align=CENTER bgcolor="#800000" width="109"> <font style="ARIAL NARROW" color="#ffffff" size="2">環境變量名</font></td> 
<td align=CENTER width=459 bgcolor="#800000"> <font style="ARIAL NARROW" color="#ffffff" size="2">內容</font></td> 
</tr> 
<tr> 
<td bgcolor="f7efde" align=CENTER> <font style="ARIAL NARROW" size="2"> 
result1 
</font></td> 
<td bgcolor="f7efde" align=CENTER> <font style="ARIAL NARROW" size="2"> 
result2 
</font></td></tr> 
</table> 
</BODY></HTML> 

Now,你應該發現上一講中的例程wuf2.asp原來是多么的easy! 
注意:該程序的后面一部分HTML標記純是為下面的例子作準備的,所以不要覺得奇怪。那么,還有哪些環境變量呢?運行下面的例子就知道了(本程序刪除了部分代碼,最好去我站點下載源程序便于理解)。 
復制代碼代碼如下:

<%@ Language=VBScript %> 
<% ‘wuf9.asp 
Option Explicit 
Dim Sv 
%> 
<HTML><BODY> 
<table colspan=8 cellpadding=5 border=0> 
<tr> 
<td align=CENTER bgcolor="#800000" width="109"> <font style="ARIAL NARROW" color="#ffffff" size="2">環境變量名</font></td> 
<td align=CENTER width=459 bgcolor="#800000"> <font style="ARIAL NARROW" color="#ffffff" size="2">結果</font></td> 
</tr> 
<% 
for each Sv In Request.ServerVariables 
Response.Write "<tr>" 
Response.Write "<td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>" 
Response.Write Sv 
Response.Write "</font></td>" 
Response.Write "<td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>" 
Response.Write Request.ServerVariables(Sv) 
Response.Write "</font></td></tr>" 
next 
%> 
</table> 
</BODY></HTML> 

這里使用了For…Each循環,用來列舉一個集合中的所有元素。如果后半部分看不懂,請對照wuf8.asp,再瞧瞧運行結果,仔細體會一下(什么態度?)。 

二、 通過表單向服務器傳送數據(也可這樣理解,服務器端如何讀取客戶端發送的數據) 
做過主頁,應該知道很多主頁通常都使用Form表單讓用戶輸入數據,然后通過“submit(提交)”按鈕發送數據。From表單中的“method”有兩種主要方法:POST和GET,而“action”后一般都是指定一個.cgi、.pl或.asp文件,今天我們要學習的就是如果編寫這個.asp文件。 
(一) 如果使用POST方法傳送數據,則用Request.Form來讀取數據。 
先編輯如下一個wuf10.htm文件,供用戶輸入數據: 
復制代碼代碼如下:

<html> 
<body bgcolor="#FFFFFF"> 
<form method="post" action="wuf11.asp"> 
姓名: <input type="text" name="yourname"><br> 
性別: <select name="gender"> 
<option>男</option> 
<option>女</option> 
</select> <br> 
留言: <textarea name="message">您好! 
注意多行文本的處理</textarea> <br> 
愛好(按住Ctrl鍵可多選): 
<select name="hobby" multiple size="4"> 
<option>電腦</option> 
<option>購物</option> 
<option>電影</option> 
<option>讀書</option> 
</select> <br> 
<input type="submit" name="Submit" value="提交"> 
<input type="reset" name="Submit2" value="Reset"> 
</form> 
</body> 
</html> 

再編寫一個wuf10.htm需用到的文件wuf11.asp收集數據: 
復制代碼代碼如下:

<%@ Language=VBScript %> 
<% 'wuf11.asp 
Option Explicit 
Response.Expires=0 
Dim StrName, StrGender, StrM, StrMsg 
StrName = Trim(Request.Form("yourname")) 'Trim函數用來除首尾空格 
StrGender = Trim(Request.Form("gender")) 
StrM = Trim(Request.Form("message")) 
StrMsg = Replace(StrM,vbcrlf,"<Br>" & vbcrlf) 
' vbcrlf相當于回車符和換行符的組合。至于Replace函數,其作用就是將字符串StrM中的vbcrlf替換為"<Br>" & vbcrlf(請思考這個vbcrlf有什么用?查看輸出文件的HTML源碼就明白了),詳細請參考VBScript幫助。 
%> 
<HTML><BODY> 
姓名: <%= StrName%><Br><Br> 
性別: <%= StrGender%><Br><Br> 
留言: <Br><Br> 
<%= StrM%><Br><Br> 
<%= StrMsg%><Br><Br> 
實際上, "提交"按鈕的值也被傳遞: <Br> 
<%= Request.Form("Submit")%><Br><Br> 
<% '先把上面看懂, 有興趣再看看如何讀取多個選項 
Response.Write "共選擇愛好項數:" & Request.Form("hobby").Count & "<Br>" 
Dim I 
For I = 1 to Request.Form("hobby").Count 
Response.Write Request.Form("hobby")(I) & "<Br>" 
Next 
%> 
</BODY></HTML> 

在這個的例子中,為了便于理解,我們使用了兩個程序,實際上只使用一個程序也可以,如果有興趣請看下面的例程wuf12.asp,有助于加深對環境變量的理解。 
復制代碼代碼如下:

<%@ Language=VBScript %> 
<% 'wuf12.asp 
Option Explicit 
Response.Expires=0 
Dim StrName, StrGender, StrM, StrMsg 
If Request.ServerVariables("Content_Length") <> 0 Then 
'提交數據后,這個長度就不會是 0, 因此執行下面的語句, 將結果顯示出來 
'下面一部分實際上是照搬 wuf11.asp 
StrName = Trim(Request.Form("yourname")) 
StrGender = Trim(Request.Form("gender")) 
StrM = Trim(Request.Form("message")) 
StrMsg = Replace(StrM,vbcrlf,"<Br>" & vbcrlf) 
%> 
<HTML><BODY> 
姓名: <%= StrName%><Br><Br> 
性別: <%= StrGender%><Br><Br> 
留言: <Br><Br> 
<%= StrM%><Br><Br> 
<%= StrMsg%><Br><Br> 
<% 
Response.Write "共選擇愛好項數:" & Request.Form("hobby").Count & "<Br>" 
Dim I 
For I = 1 to Request.Form("hobby").Count 
Response.Write Request.Form("hobby")(I) & "<Br>" 
Next 
%> 
</BODY></HTML> 
<% 
Else 
'當第一次加載頁面時,沒有提交任何數據,故前面一部分并不執行,而是從這里開始 
'這也就是為什么會有兩對 <HTML></HTML> 的原因 
'下面照搬 wuf10.htm 就行了 
'<form method="post" action="wuf11.asp"> 給用環境變量替換掉了, 其實完全一樣 
Response.Write "看看結果: " & Request.ServerVariables("Script_name") & "<Br>" 
%> 
<HTML><BODY> 
<form method="post" action="<%= Request.ServerVariables("Script_name")%>"> 
姓名: <input type="text" name="yourname"><br> 
性別: <select name="gender"> 
<option>男</option> 
<option>女</option> 
</select> <br> 
留言: <textarea name="message">您好! 
注意多行文本的處理</textarea> <br> 
愛好(按住Ctrl鍵可多選): 
<select name="hobby" multiple size="4"> 
<option>電腦</option> 
<option>購物</option> 
<option>電影</option> 
<option>讀書</option> 
</select> <br> 
<input type="submit" name="Submit" value="提交"> 
<input type="reset" name="Submit2" value="Reset"> 
</form> 
</BODY></HTML> 
<%End If%> 
(二)如果使用GET方法傳送數據,則用Request.Querystring來讀取數據。 
先編輯如下一個wuf13.htm文件,供用戶輸入數據: 
<html> 
<body bgcolor="#FFFFFF"> 
<form method="get" action="wuf14.asp"> 
英文姓名: <input type="text" name="Ename"> <br> 
中文姓名: <input type="text" name="Cname"><br> 
性別: <select name="gender"> 
<option>男</option> 
<option>女</option> 
</select> <br> 
<input type="submit" name="Submit" value="提交"> 
<input type="reset" name="Submit2" value="Reset"> 
</form> 
</body> 
</html> 
再編寫一個wuf13.htm需用到的文件wuf14.asp收集數據: 
<%@ Language=VBScript %> 
<% 'wuf14.asp 
Option Explicit 
Response.Expires=0 
Dim StrCname, StrEname, StrGender 
StrEname = Trim(Request.QueryString("Ename")) 'Trim函數用來除首尾空格 
StrCname = Trim(Request.QueryString("Cname")) 
StrGender = Trim(Request.QueryString("gender")) 
%> 
<HTML><BODY> 
英文姓名: <%= StrEname%><Br><Br> 
中文姓名: <%= StrCname%><Br><Br> 
性別: <%= StrGender%><Br><Br> 
看看提交的字符串: <Br> 
<%= Request.ServerVariables("Query_String")%> 
</BODY></HTML> 

為了更好地理解這個程序,你最好先在瀏覽器中試試例程wuf13.htm的效果,看看輸出的結果,你會發現地址欄中長長的字符串似曾相識,如同在Yahoo搜索時看到的差不多。這時,你試著在地址欄中直接輸入“http://localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女”,居然也得到了同樣的結果。所以你可以這樣看,wuf13.htm的結果就是得到了類似這樣的一個帶參數的鏈接。而Request.QueryString則是從http:// 地址的附加參數中讀取各個數據。

實際上,當按“提交”按鈕后,查詢字符串(輸入的數據)會以參數的形式附加到URL地址后(各參數間以“&”分隔),達到傳遞數據的目的。同時,注意瀏覽器中顯示的查詢字符串中沒有中文,而是不認識的含百分號的亂碼,這是因為進行了編碼的緣故。最后,與前面一樣,這兩個程序也可合并為一個程序(例程wuf15.asp,需去我站點下載)。 
幾點說明: 
1. 若使用POST方法提交數據,則Request.ServerVariables("Content_Length")>0。 
若使用GET方法提交數據,則Request.ServerVariables("Query_String") <> ""。 
2. 弄懂原理后,你完全可以在同一個ASP文件中混合使用Request.Form和Request.QueryString。 
3. 如果在一個Form表單中,有幾個按鈕,你如何確定用戶按了哪個按鈕?如果留意的話,會發現例程wuf11.asp中有一句,“提交”按鈕的值也被傳送,而wuf13.htm中生成的查詢字符串最后也可以找到類似的值。請注意:只有被按按鈕的值被傳送,而其他按鈕的值為””,這就是判斷依據(《中計報》InfoWeb網站有一篇類似文章)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品一区二区久| 国产精品女人久久久久久| 亚洲天堂男人天堂| 91网在线免费观看| 91国产中文字幕| 精品亚洲精品福利线在观看| 中文字幕亚洲一区二区三区| 不卡毛片在线看| 日韩av一卡二卡| 欧美另类高清videos| 欧美一级电影久久| 91在线中文字幕| 日韩精品久久久久久福利| 国内精品一区二区三区四区| 国产精品久久久久免费a∨大胸| 日韩欧美一区视频| 亚洲精品色婷婷福利天堂| 欧美放荡办公室videos4k| 亚洲影视中文字幕| 98午夜经典影视| 久久中文字幕在线| 久久香蕉国产线看观看网| 在线观看日韩欧美| 亚洲free嫩bbb| 久久久成人av| 日韩av大片在线| 国产日韩欧美中文在线播放| 97在线视频精品| 日韩av片免费在线观看| 91免费看片在线| 国产精品美女无圣光视频| 免费91麻豆精品国产自产在线观看| 久久久久女教师免费一区| 国产精品老女人精品视频| 欧美视频在线观看 亚洲欧| 亚洲va电影大全| 亚洲欧美在线磁力| 国产精品美女www爽爽爽视频| 91精品视频免费| 国产女人18毛片水18精品| 国产日韩换脸av一区在线观看| 亚洲精品按摩视频| 韩国欧美亚洲国产| 国产精品一区二区三| 亚洲黄色av网站| 国产日韩综合一区二区性色av| 亚洲四色影视在线观看| 午夜精品福利视频| 欧美成人午夜影院| 国产99久久精品一区二区 夜夜躁日日躁| 欧美贵妇videos办公室| 国产欧美亚洲视频| 亚洲天堂av在线免费观看| 欧美精品videossex88| 欧美伦理91i| 国产精品免费一区| 日韩中文字幕免费看| 97精品在线视频| 91精品久久久久久久久青青| 91久久久久久久久| 久久久国产精品视频| 久久久久www| 久久精品免费电影| 热草久综合在线| 欧美一级片一区| 国产日韩在线看| 国产一区二区日韩| 欧美日韩国产va另类| 国产精品一区二区女厕厕| 国产丝袜一区二区三区免费视频| 国产精品va在线| 日韩电影免费观看在线观看| 欧美精品成人91久久久久久久| 国产精品亚洲网站| 精品国产91乱高清在线观看| 久久精品人人做人人爽| 日韩精品免费视频| 国产精品自产拍在线观看中文| 1769国产精品| 国产精品免费一区二区三区都可以| 色哟哟网站入口亚洲精品| 最新国产精品拍自在线播放| 日韩欧美亚洲范冰冰与中字| 国产精品视频资源| 亚洲第一男人天堂| 欧美日韩国产第一页| 精品一区二区三区电影| 97在线观看免费高清| 欧美激情免费视频| 亚洲xxxx3d| 国产精品久久久久久久久久久新郎| 亚洲欧美在线一区| 亚洲国产日韩一区| 97在线免费观看视频| 日韩欧美一区二区在线| 亚洲欧美国产高清va在线播| 69av成年福利视频| 欧美乱人伦中文字幕在线| 一区二区三欧美| 美女视频久久黄| 亚洲va男人天堂| 亚洲欧美精品suv| 亚洲精品视频久久| 福利视频第一区| www日韩中文字幕在线看| 国产一区二区三区在线播放免费观看| 福利一区视频在线观看| 亚洲国产精品va在线观看黑人| 国产女精品视频网站免费| 国模精品视频一区二区三区| 亚洲国产天堂久久综合| 亚洲va国产va天堂va久久| 国产精品一香蕉国产线看观看| 欧美日韩综合视频| 日韩精品欧美国产精品忘忧草| 日韩视频亚洲视频| 久久国产精品偷| 精品在线观看国产| 91精品久久久久久久久久另类| 欧美精品18videosex性欧美| 亚洲国产三级网| 欧美丝袜第一区| 亚洲老司机av| 亚洲国产精品成人va在线观看| 日韩在线小视频| 欧美日韩国产限制| 久久国产精品久久久久久| 欧美性xxxx极品hd满灌| 国产精品91久久久| 欧美性生交xxxxxdddd| 欧美激情欧美激情在线五月| 欧美激情免费看| 欧美成人免费全部观看天天性色| 亚洲最大中文字幕| 萌白酱国产一区二区| 国产成人精品久久亚洲高清不卡| 成人福利在线视频| 日韩欧美一区二区在线| 精品视频在线播放免| 国产精品第100页| 热草久综合在线| 亚洲国模精品一区| 亚洲最大中文字幕| 欧美诱惑福利视频| 在线观看亚洲区| 色香阁99久久精品久久久| 久久中文字幕在线视频| 精品国产福利视频| 国产精品久久久久福利| 精品国偷自产在线视频| 欧美性xxxx极品高清hd直播| 亚洲性生活视频| 久久久久久香蕉网| 成人春色激情网| 欧美风情在线观看| 欧美精品在线免费观看| 日韩精品福利网站| 日韩大片免费观看视频播放| 国产精品十八以下禁看| 国产乱肥老妇国产一区二| 日韩中文字幕免费| 久久久久久久亚洲精品| 国产精品吊钟奶在线| 欧美精品video|