學習ASP
最重要的就是要掌握ASP內置的六大對象
下面我們繼續通過實例學習Request對象
為了加深理解
務請運行這些程序看看輸出結果
一 使用RequestServerVariables獲取環境變量 這部分內容很簡單
但獲取的內容卻很重要
如何獲取?請看下例
<%@ Language=VBScript %>
<HTML><BODY>
<%
wuf
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=
cellpadding=
border=
>
<tr>
<td align=CENTER bgcolor=
#
width=
> <font color=
#ffffff
size=
>環境變量名</font></td>
<td align=CENTER width=
bgcolor=
#
> <font color=
#ffffff
size=
>內容</font></td>
</tr>
<tr>
<td bgcolor=
f
efde
align=CENTER> <font size=
>
result
</font></td>
<td bgcolor=
f
efde
align=CENTER> <font size=
>
result
</font></td></tr>
</table>
</BODY></HTML>
Now
你應該發現上一講中的例程wuf
asp原來是多麼的easy!
注意
該程序的後面一部分HTML標記純是為下面的例子作准備的
所以不要覺得奇怪
那麼
還有哪些環境變量呢?運行下面的例子就知道了(本程序刪除了部分代碼
最好去我站點下載源程序便於理解)
<%@ Language=VBScript %>
<%
wuf
asp
Option Explicit
Dim Sv
%>
<HTML><BODY>
<table colspan=
cellpadding=
border=
>
<tr>
<td align=CENTER bgcolor=
#
width=
> <font color=
#ffffff
size=
>環境變量名</font></td>
<td align=CENTER width=
bgcolor=
#
> <font color=
#ffffff
size=
>結果</font></td>
</tr>
<%
for each Sv In Request
ServerVariables
Response
Write
<tr>
Response
Write
<td bgcolor=
f
efde
align=CENTER> <font style=
ARIAL NARROW
size=
>
Response
Write Sv
Response
Write
</font></td>
Response
Write
<td bgcolor=
f
efde
align=CENTER> <font style=
ARIAL NARROW
size=
>
Response
Write Request
ServerVariables(Sv)
Response
Write
</font></td></tr>
next
%>
</table>
</BODY></HTML>
這裡使用了For…Each循環
用來列舉一個集合中的所有元素
如果後半部分看不懂
請對照wuf
asp
再瞧瞧運行結果
仔細體會一下(什麼態度?)
二 通過表單向服務器傳送數據(也可這樣理解服務器端如何讀取客戶端發送的數據) 做過主頁
應該知道很多主頁通常都使用Form表單讓用戶輸入數據
然後通過
submit(提交)
按鈕發送數據
From表單中的
method
有兩種主要方法
POST和GET
而
action
後一般都是指定一個
cgi
pl或
asp文件
今天我們要學習的就是如果編寫這個
asp文件
(一) 如果使用POST方法傳送數據
則用Request
Form來讀取數據
先編輯如下一個文件
供用戶輸入數據
<html>
<body bgcolor=
#FFFFFF
>
<form method=
post
action=
wuf
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=
>
<option>電腦</option>
<option>購物</option>
<option>電影</option>
<option>讀書</option>
</select> <br>
<input type=
submit
name=
Submit
value=
提交
>
<input type=
reset
name=
Submit
value=
Reset
>
</form>
</body>
</html>
再編寫一個需用到的文件wuf
asp收集數據
<%@ Language=VBScript %>
<%
wuf
asp
Option Explicit
Response
Expires=
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 =
to Request
Form(
hobby
)
Count
Response
Write Request
Form(
hobby
)(I) &
<Br>
Next
%>
</BODY></HTML>
在這個的例子中
為了便於理解
我們使用了兩個程序
實際上只使用一個程序也可以
如果有興趣請看下面的例程wuf
asp
有助於加深對環境變量的理解
<%@ Language=VBScript %>
<%
wuf
asp
Option Explicit
Response
Expires=
Dim StrName
StrGender
StrM
StrMsg
If Request
ServerVariables(
Content_Length
) <>
Then
提交數據後
這個長度就不會是
因此執行下面的語句
將結果顯示出來
下面一部分實際上是照搬 wuf
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 =
to Request
Form(
hobby
)
Count
Response
Write Request
Form(
hobby
)(I) &
<Br>
Next
%>
</BODY></HTML>
<%
Else
當第一次加載頁面時
沒有提交任何數據
故前面一部分並不執行
而是從這裡開始
這也就是為什麼會有兩對 <HTML></HTML> 的原因
下面照搬 就行了
<form method=
post
action=
wuf
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=
>
<option>電腦</option>
<option>購物</option>
<option>電影</option>
<option>讀書</option>
</select> <br>
<input type=
submit
name=
Submit
value=
提交
>
<input type=
reset
name=
Submit
value=
Reset
>
</form>
</BO
From:http://tw.wingwit.com/Article/program/net/201311/12157.html