我們將製作一個能夠記住訪問者姓名的頁面,在這個小案例中,你將學會如何使用Request對象的Cookies、Form以及ServerVariables集合的值,還可以學習到如何使用Response對象來發送Cookies。
首先來看看程式碼:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!doctype html><html><head><meta charset="utf-8"><title>用Cookies記住訪問者的姓名</title></head><body><%Dim sUserNamesUserName = 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對象使用執行個體
2. 談談Request和Response這兩個對象的使用
3. 分享asp中request對象五個擷取用戶端資料的方法
4. 詳解ASP.NET 系統對象之Request