?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
Request 對(duì)象用于從訪客那里獲取信息。
當(dāng)瀏覽器向服務(wù)器請(qǐng)求頁面時(shí),這個(gè)行為就被稱為一個(gè) request(請(qǐng)求)。Request 對(duì)象用于從用戶那里獲取信息。它的集合、屬性和方法描述如下:
集合 | 描述 |
---|---|
ClientCertificate | 包含了存儲(chǔ)在客戶證書中的所有的字段值。 |
Cookies | 包含了 HTTP 請(qǐng)求中發(fā)送的所有的 cookie 值。 |
Form | 包含了使用 post 方法由表單發(fā)送的所有的表單(輸入)值。 |
QueryString | 包含了 HTTP 查詢字符串中所有的變量值。 |
ServerVariables | 包含了所有的服務(wù)器變量值。 |
屬性 | 描述 |
---|---|
TotalBytes | 返回在請(qǐng)求正文中客戶端發(fā)送的字節(jié)總數(shù)。 |
方法 | 描述 |
---|---|
BinaryRead | 取回作為 post 請(qǐng)求的一部分而從客戶端發(fā)送至服務(wù)器的數(shù)據(jù),并把它存儲(chǔ)在一個(gè)安全的數(shù)組中。 |
當(dāng)用戶點(diǎn)擊鏈接時(shí)發(fā)送查詢信息
本例演示如何在鏈接中向頁面發(fā)送查詢信息,并在目標(biāo)頁面中取回這些信息(在本例中是同一頁面)。
<!DOCTYPE?html> <html> <body> <a?href="demo_simplequerystring.asp?color=green">Example</a> <% Response.Write(Request.QueryString) %> </body> </html>
QueryString 集合的簡(jiǎn)單應(yīng)用
本例演示如何使用 QueryString 集合從表單取回值。(此表單使用 GET 方法,這意味著所發(fā)送的信息對(duì)用戶來說是可見的。)
<!DOCTYPE?html> <html> <body> <form?action="demo_simplereqquery.asp"?method="get"> First?name:?<input?type="text"?name="fname"><br> Last?name:?<input?type="text"?name="lname"><br> <input?type="submit"?value="Submit"> </form> <% Response.Write(Request.QueryString) %> </body> </html>
如何使用來自表單的信息
本例演示如何使用從表單取回的值。此表單使用 GET 方法。
<!DOCTYPE?html> <html> <body> <form?action="demo_simplereqquery.asp"?method="get"> First?name:?<input?type="text"?name="fname"><br> Last?name:?<input?type="text"?name="lname"><br> <input?type="submit"?value="Submit"> </form> <% Response.Write(Request.QueryString) %> </body> </html>
來自表單的更多信息
本例演示如果輸入字段包含若干相同的名稱,QueryString 集合會(huì)包含什么內(nèi)容。它將展示如何使用 Count 關(guān)鍵詞來對(duì) "name" 屬性進(jìn)行計(jì)數(shù)。此表單使用 GET 方法。
<!DOCTYPE?html> <html> <body> <% If?Request.QueryString<>""?Then ??????If?Request.QueryString("name")<>",?"?Then ???????????name1=Request.QueryString("name")(1) ???????????name2=Request.QueryString("name")(2) ??????end?if end?if %> <form?action="demo_reqquery2.asp"?method="get"> First?name: <input?type="text"?name="name"?value="<%=name1%>"?/> <br> Last?name: <input?type="text"?name="name"?value="<%=name2%>"?/> <br> <input?type="submit"?value="Submit"?/> </form> <hr> <% If?Request.QueryString<>""?Then ??????Response.Write("<p>") ??????Response.Write("The?information?received?from?the?form?was:") ??????Response.Write("</p><p>") ??????Response.Write("name="?&?Request.QueryString("name")) ??????Response.Write("</p><p>") ??????Response.Write("The?name?property's?count?is:?") ??????Response.Write(Request.QueryString("name").Count) ??????Response.Write("</p><p>") ??????Response.Write("First?name="?&?name1) ??????Response.Write("</p><p>") ??????Response.Write("Last?name="?&?name2) ??????Response.Write("</p>") end?if %> </body> </html>
Form 集合的簡(jiǎn)單應(yīng)用
本例演示如何使用 Form 集合從表單取回值。(此表單使用 POST 方法,這意味著所發(fā)送的信息對(duì)用戶來說是不可見的。)
<!DOCTYPE?html> <html> <body> <form?action="demo_simpleform1.asp"?method="post"> First?name: <input?type="text"?name="fname"?value="Donald"?/> <br> Last?name: <input?type="text"?name="lname"?value="Duck"?/> <br> <input?type="submit"?value="Submit"?/> </form> <% Response.Write(Request.Form) %> </body> </html>
如何使用來自表單的信息
本例演示如何使用從表單取回的值。此表單使用了 POST 方法。
<!DOCTYPE?html> <html> <body> <form?action="demo_simpleform.asp"?method="post"> Your?name:?<input?type="text"?name="fname"?size="20"?/> <input?type="submit"?value="Submit"?/> </form> <% dim?fname fname=Request.Form("fname") If?fname<>""?Then ??????Response.Write("Hello?"?&?fname?&?"!<br>") ??????Response.Write("How?are?you?today?") End?If %> </body> </html>
來自表單的更多信息
本例演示如果輸入字段包含若干相同的名稱,F(xiàn)orm 集合會(huì)包含什么內(nèi)容。它將展示如何使用 Count 關(guān)鍵詞來對(duì) "name" 屬性進(jìn)行計(jì)數(shù)。此表單使用了 POST 方法。
<!DOCTYPE?html> <html> <body> <form?action="demo_form2.asp"?method="post"> First?name: <input?type="text"?name="name"?value="Donald"?/> <br> Last?name: <input?type="text"?name="name"?value="Duck"?/> <br> <input?type="submit"?value="Submit"?/> </form> <hr> <p>The?information?received?from?the?form?above?was:</p> <% If?Request.Form("name")<>""?Then ??????Response.Write("<p>") ??????Response.Write("name="?&?Request.Form("name")) ??????Response.Write("</p><p>") ??????Response.Write("The?name?property's?count?is:?") ??????Response.Write(Request.Form("name").Count) ??????Response.Write("</p><p>") ??????Response.Write("First?name="?&?Request.Form("name")(1)) ??????Response.Write("</p><p>")? ??????Response.Write("Last?name="?&?Request.Form("name")(2)) ??????Response.Write("</p>")? End?if %> </body> </html>
帶有單選按鈕的表單
本例演示如何使用 Form 集合通過單選按鈕與用戶進(jìn)行交互。此表單使用 POST 方法。
<!DOCTYPE?html> <html> <% dim?cars cars=Request.Form("cars") %> <body> <form?action="demo_radiob.asp?method="post"> <p>Please?select?your?favorite?car:</p> <input?type="radio"?name="cars" <%if?cars="Volvo"?then?Response.Write("checked")%> value="Volvo">Volvo</input> <br> <input?type="radio"?name="cars" <%if?cars="Saab"?then?Response.Write("checked")%> value="Saab">Saab</input> <br> <input?type="radio"?name="cars" <%if?cars="BMW"?then?Response.Write("checked")%> value="BMW">BMW</input> <br><br> <input?type="submit"?value="Submit"?/> </form> <% if?cars<>""?then ???Response.Write("<p>Your?favorite?car?is:?"?&?cars?&?"</p>") end?if %> </body> </html>
帶有復(fù)選框的表單
本例演示如何使用 Form 集合通過復(fù)選框與用戶進(jìn)行交互。此表單使用 POST 方法。
<!DOCTYPE?html> <html> <body> <% fruits=Request.Form("fruits") %> <form?action="demo_checkboxes.asp"?method="post"> <p>Which?of?these?fruits?do?you?prefer:</p> <input?type="checkbox"?name="fruits"?value="Apples" <%if?instr(fruits,"Apple")?then?Response.Write("checked")%>> Apple <br> <input?type="checkbox"?name="fruits"?value="Oranges" <%if?instr(fruits,"Oranges")?then?Response.Write("checked")%>> Orange <br> <input?type="checkbox"?name="fruits"?value="Bananas" <%if?instr(fruits,"Banana")?then?Response.Write("checked")%>> Banana <br> <input?type="submit"?value="Submit"> </form> <% if?fruits<>""?then%> ???<p>You?like:?<%Response.Write(fruits)%></p> <%end?if %> </body> </html>
獲取服務(wù)器變量
本例演示如何取得訪客的瀏覽器類型、IP 地址等信息。
<!DOCTYPE?html> <html> <body> <p> <b>You?are?browsing?this?site?with:</b> <%Response.Write(Request.ServerVariables("http_user_agent"))%> </p> <p> <b>Your?IP?address?is:</b> <%Response.Write(Request.ServerVariables("remote_addr"))%> </p> <p> <b>The?DNS?lookup?of?the?IP?address?is:</b> <%Response.Write(Request.ServerVariables("remote_host"))%> </p> <p> <b>The?method?used?to?call?the?page:</b> <%Response.Write(Request.ServerVariables("request_method"))%> </p> <p> <b>The?server's?domain?name:</b> <%Response.Write(Request.ServerVariables("server_name"))%> </p> <p> <b>The?server's?port:</b> <%Response.Write(Request.ServerVariables("server_port"))%> </p> <p> <b>The?server's?software:</b> <%Response.Write(Request.ServerVariables("server_software"))%> </p> </body> </html>
You?are?browsing?this?site?with: Your?IP?address?is:?42.120.45.233 The?DNS?lookup?of?the?IP?address?is:?42.120.45.233 The?method?used?to?call?the?page:?GET The?server's?domain?name:?shouce.ren The?server's?port:?80 The?server's?software:?Microsoft-IIS/7.5
創(chuàng)建 welcome cookie
本例演示如何創(chuàng)建一個(gè) Welcome Cookie。
<% dim?numvisits response.cookies("NumVisits").Expires=date+365? numvisits=request.cookies("NumVisits") if?numvisits=""?then ???response.cookies("NumVisits")=1 ???response.write("Welcome!?This?is?the?first?time?you?are?visiting?this?Web?page.") else ???response.cookies("NumVisits")=numvisits+1 ???response.write("You?have?visited?this?") ???response.write("Web?page?"?&?numvisits) ???if?numvisits=1?then ?????response.write?"?time?before!" ???else ?????response.write?"?times?before!" ???end?if end?if %> <!DOCTYPE?html> <html> <body> </body> </html>
探測(cè)用戶發(fā)送的字節(jié)總數(shù)
本例演示如何探測(cè)用戶在 Request 對(duì)象中發(fā)送的字節(jié)總數(shù)。
<!DOCTYPE?html> <html> <body> <form?action="demo_totalbytes.asp"?method="post"> Please?type?something: <input?type="text"?name="txt"><br><br> <input?type="submit"?value="Submit"> </form> <% If?Request.Form("txt")<>""?Then ???Response.Write("You?submitted:?") ???Response.Write(Request.Form) ???Response.Write("<br><br>") ???Response.Write("Total?bytes:?") ???Response.Write(Request.Totalbytes) End?If %> </body> </html>