本文章介紹了Request.Cookies的基本語法和用法。並且通過示例分析了Request.Cookies的使用過程。
Request.Cookies方法可以檢索Cookies 集合中的值,Cookies 集合允許用戶檢索在 HTTP 請求中發送的 cookie 的值。
Request.Cookies使用語法:Request.Cookies(cookie)[(key)|.attribute]
Cookies是一種標記,由WEB服務器嵌入到用戶浏覽器中,以便識別用戶,下次同一浏覽器請求網頁時,將發送從WEB服務器收到的Cookies。
利用Cookies可存儲與用戶相關的信息。利用Response和Request對象的Cookies集合,可實現設置或獲得Cookies的值。
利用Response對象的Cookies集合,設置Cookies的用法為:
Response.Cookies(CookieName)[(Key)|.Attribute]=value
參數說明:
(1)CookieName:代表表示Cookie的名字,由用戶自行命名。
(2)Key:是Cookie指定關鍵字。通過給Cookie指定關鍵字,可使Cookie擁有多個值,這種Cookie稱為帶索引的Cookie。
(3)Attribute:此參數表示Cookies集合對象的屬性,其最常用的屬性主要是Expires(用於設置Cookies的過期日期)、Domain(用於設置Cookies的有效作用域名范圍)。
比如:若要設置一個名為VisitNum的Cookie,用以儲存該用戶訪問本網站的次數,並初始化其值為1,則實現代碼為:
<%Response.Cookies("VisitNum")=1%>
該語句必須位於網頁的標記之前。若指定的Cookies己經存在,則將重寫Cookies的值,若不存在,建創建該Cookies。
利用該方法所設置的Cookies僅在當前會話中有效,若要在用戶已經終止或重新啟動浏覽器之後仍有效,就必須強制浏覽器將Cookie保存到用戶的硬盤上,為此,可以通過設置Cookies集合對象的Expires屬性為此後的某一段時間來實現。
例如,若要設置名為VisitNum的Cookies在5天後過期,則設置方法為:
<%
Response.Cookies("VisitNum")=1
Response.Cookies("VisitNum").Expires=DateAdd("d",5,Date)
%>
例如:使用Cookie保存網友訪問網站的次數和最近一次訪問的日期和時間,並要求該Cookie在7天後過期。
要保存的信息有2個,而且這2個信息有一定的聯系,因此,可用帶索引的Cookies來實現。另外,也可以用兩個不同的Cookie來分別保存。
為了實現累加訪問次數,可利用Request對象的Cookie集合對象來獲得Cookie的值,遞增後,再賦回給該Cookie。Request對Cookie操作的方法與Response相似,只不過Request是用來獲取Cookies的值,而Response是用來設置Cookies的值。
(1)、帶索引的Cookies的實現方法為:
<%
if Request.Cookies("UserVisit")("num")="" then '若該Cookie不存在
Response.Cookies("UserVisit")("num")=1 '則創建該Cookie並賦初值
else
Response.Cookies("UserVisit")("num")=Request.Cookies("UserVisit")("num")+1
end if
Response.Cookies("UserVisit")("LastVisit")=now
Response.Cookies("UserVisit").Expires=DateAdd("ww",1,Date)
%>
為了測試是否正確設置了Cookie,可用以下代碼通過輸出相應Cookie的值來實現:
<%="訪問人數為:"&Request.Cookies("UserVisit")("num") &"
最近訪問時間為:" & Request.Cookies("UserVisit")("LastVisit")%>
(2)、用兩個不同Cookie的實現方法(不帶索引):
<%
Response.Cookies("VisitNum")=1
Resposne.Cookies("VisitNum").Expires=DateAdd("ww",1,Date)
Response.Cookies("LastVisit")=now
Response.Cookies("LastVisit").Expires=DateAdd("ww",1,Date)
%>
讀書完本文章後,我相信你對Request.Cookies有了初步的了解,自己動手編幾個實例就會對Request.Cookies有深入的理解。