ASP Cookie



cookie 常用於辨識使用者。


tryitimg.gif

試試看 - 實例

Welcome cookie
本範例示範如何建立 Welcome cookie。


Cookie 是什麼?

cookie 常用用於識別使用者。 cookie 是一種伺服器留在使用者電腦上的小檔案。每當同一台電腦透過瀏覽器請求頁面時,這台電腦將會發送 cookie。透過 ASP,您能夠建立並取回 cookie 的值。


如何建立 Cookie?

"Response.Cookies" 指令用於建立 cookie。

註解:Response.Cookies 指令必須出現在 <html> 標籤之前。

在下面的實例中,我們將建立一個名為"firstname" 的cookie,並將其賦值為"Alex":

<%
Response. Cookies("firstname")="Alex"
%>

向cookie 指派屬性也是可以的,例如設定cookie 的失效時間:

< ;%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012
#%>


如何取回Cookie 的值?

"Request.Cookies" 指令用來取回 cookie 的值。

在下面的實例中,我們取回了名為"firstname" 的cookie 的值,並將值顯示到了頁面上:

<%
fname =Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

輸出: Firstname=Alex


有鍵的Cookie

如果一個cookie 包含多個值的集合,我們就可以說cookie 帶有鍵(Keys)。

在下面的實例中,我們將建立一個名為 "user" 的 cookie 集合。 "user" cookie 附有包含使用者資訊的按鍵:

<%
Response.Cookies("user")("firstname")="John"
Response.Cookies ("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age") ="25"
%>


讀取所有的Cookie

請閱讀下面的程式碼:

<%
Response.Cookies("firstname")= "Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies( "user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
##假設您的伺服器將上面所有的cookie 傳給了某個使用者。

現在,我們需要讀取這些傳給某個使用者的所有的 cookie。下面的實例向您示範如何做到這一點(請注意,下面的程式碼透過HasKeys 屬性檢查cookie 是否帶有鍵):

<!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>

輸出:

firstname=Alex

user:firstname=John

user:lastname=Smith
user: country=Norway
user:age=25


如果瀏覽器不支援Cookie 怎麼辦?

如果您的應用程式需要與不支援 cookie 的瀏覽器打交道,那麼您就必須使用其他的方法在您的應用程式中的頁面之間傳遞資訊。這裡有兩種方法:

1. 向URL 新增參數

您可以在URL 中加入參數:

<a href="welcome.asp? fname=John&lname=Smith">Go to Welcome Page</a>
然後在"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>")
%>
#

2. 使用表單

您可以使用表單。當使用者點擊Submit 按鈕時,表單會把使用者輸入傳給"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>

然後在"welcome.asp" 檔案中取回這些值,如下所示:

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>