當同一台電腦透過瀏覽器請求頁面時,將會發送 cookie。
在ASP中,我們可以透過Response.Cookies
這個方法創建Cookies
<%
Response.Cookies("firstname")="Alex"
%>
在()
中的是給Cookies
命名的名稱,Alex
則是其值
也可以給Cookies
設定一些屬性
像這邊範例提供的就是給予日期
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
而如果我們要取到已創建好的Cookies
的話,則要透過Request.Cookies
這個方法
透過一個變數來存取到的值
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
在ASP
中,一樣透過Response.Cookies
這個方法來創建
在這段程式碼中,前面的user
應該是表示這些keys
的集合名稱
也就是這些keys
都是屬於user
的
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
若我們要讀取Cookies當中的keys的話
則可以透過迴圈來讀取出來,如下方範例程式碼
先假設已經創建了這些Cookies
,其中包含有keys
的,以及沒有keys
的
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
<!DOCTYPE html>
<html>
<body>
<%
dim x,y
for each x in Request.Cookies
response.write("<p>")
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
response.write("<br>")
next
else
Response.Write(x & "=" & Request.Cookies(x) & "<br>")
end if
response.write "</p>"
next
%>
</body>
</html>
在上面這段程式碼中可以看到,首先創建兩個變數,分別為x
和y
然後透過迴圈,讓x
這個變數去讀取當前已經創建過的Cookies
這邊先輸出HTML
的段落標籤前面的部份,也就是<p>
接下來進入到if
判斷,判斷當前讀取到的Cookies
是否有keys
keys
x
讀取到keys
,然後將其輸出,&
這個符號在這邊感覺和Java
語言中的+
類似 (這邊並不是指作為運算子的部分)Keys
是在x
這個暫時的集合名稱底下,再來變數y
則是作為索引?來讀取當前的keys
值Request.Cookies(x)(y))
這樣寫,這個寫法和陣列之類的有點類似HTML
換行標籤<br>
及HTML
的段落標籤後面的部份,也就是</p>
將文字包住keys
Cookies
,也表示它不是一個集合名稱?Request.Cookies(x)
HTML
換行標籤<br>
及HTML
的段落標籤後面的部份,也就是</p>
將文字包住<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>
在<a>
的href
屬性中指定目標頁面的URL
,並在URL
中添加參數
要傳遞到的頁面為welcome.asp
傳遞的參數則為?fname=John&lname=Smith
,包含著名字和姓氏
然後再welcome.asp
我們可以透過下面這樣的程式碼來獲取當中的值
<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
在welcome.asp
當中,可以透過Request.querystring
這個方法來獲取URL
中的參數值
然後再將其輸出,輸出的方法及當中的標籤文章上面已經有寫
就好比有一個頁面 welcome.asp,我們想要將用戶的名字和姓氏傳遞到這個頁面,就可以在這個頁面的連結上加上你想傳遞的參數及參數的值
<form method="post" action="welcome.asp">
First Name: <input type="text" name="fname" value="">
Last Name: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>
在用戶點擊提交(Submit)
按鈕時將用戶輸入的信息傳遞給下一個頁面。
在 <form>
的action
屬性中指定目標頁面的URL
,並使用method="post"
表示使用POST
方法提交表單。
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
在目標頁面(這個例子中是"welcome.asp"
)中,使用Request.form
方法檢索從表單提交的參數值。
然後再將其輸出,輸出的方法及當中的標籤文章上面已經有寫
表單就像是一張紙,可以在上面填寫信息並提交。
當填寫完表單並點擊提交按鈕時,這些信息將被提交到另一個頁面進行處理。
筆記來源:ASP Cookies