我們將製作一個能夠記住訪客姓名的頁面,在這個小案例中,你將學習如何使用Request物件的Cookies、Form以及ServerVariables集合的值,也可以學習到如何使用Response物件來傳送Cookies 。
首先來看看程式碼:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!doctype html><html><head><meta charset="utf-8"><title>用Cookies记住访问者的姓名</title></head><body><%Dim sUserName sUserName = Trim(Request.Cookies("name"))'判断name是否为空,不为空则输出name的值If sUserName = "" Then '判断是否是POST刚提交了表单,是的话则获取表单内容输出Cookies If UCase(Trim(Request.ServerVariables("REQUEST_METHOD"))) = "POST" Then sUserName = Trim(Request.Form("name")) Response.Cookies("name") = sUserName Response.Cookies("name").Expires = DateAdd("d", 1, Now) 'Cookies一天后过期 Response.Write("我已经记住您的姓名了!") Else '否则显示表单,让用户提交表单%> <form method="post" action=""> 请告诉我您的姓名 : <input name="name" type="text"/> <input type="submit" value="提交" /> </form><% End If Else Response.Write("您好," & sUserName)End If%></body></html>
首次運行,無法取得Cookies 信息,顯示表單,讓使用者提交,如下圖:
提交表單,還是POST到目前ASP頁面,因為還是無法取得Cookies,所以顯示提交表單成功的頁面,如下圖:
再次刷新目前頁面RequestCookies.asp ,因為可以取得到Cookies,直接顯示訪客姓名了。
我們再詳細講解下讓使用者輸入姓名並儲存的部分,先取得ServerVariables變數REQUEST_METHOD的值,這個值標示了目前頁面的請求方式,如果是POST方式,表示現在正在想此頁面提交表單,這時就要取得表單的值,並且將其使用Response.Cookies集合來向客戶端輸出Cookies,否則顯示供使用者填寫姓名的HTML程式碼。
小知識
Trim函數刪除字串兩邊的空格,LTrim #函數刪除字串左側空格,RTrim函數刪除字串右側空格。
UCase函數把指定字串轉換為大寫,LCase函數把指定字串轉換為小寫。
【相關推薦】
1. #總結Asp.net內建物件之Request物件使用實例
3. 分享asp中request對象五個取得客戶端資料的方法
以上是分享一個Request物件小案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!