ASP Cookies


Cookie thường được sử dụng để xác định người dùng.


Các ví dụ khác


Cách tạo cookie chào mừng.


Cookie là gì?

Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi khi cùng một máy tính yêu cầu một trang có trình duyệt, nó cũng sẽ gửi cookie. Với ASP, bạn có thể vừa tạo và truy xuất các giá trị cookie.


Cách tạo Cookie?

Lệnh "Response.Cookies" được sử dụng để tạo cookie.

Lưu ý: Lệnh Response.Cookies phải xuất hiện TRƯỚC thẻ <html>.

Trong ví dụ dưới đây, chúng tôi sẽ tạo một cookie có tên "firstname" và gán giá trị "Alex" cho nó:

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

Cũng có thể gán các thuộc tính cho cookie, chẳng hạn như đặt ngày khi cookie hết hạn:

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

Làm thế nào để Truy xuất Giá trị Cookie?

Lệnh "Request.Cookies" được sử dụng để truy xuất giá trị cookie.

Trong ví dụ bên dưới, chúng tôi truy xuất giá trị của cookie có tên "firstname" và hiển thị nó trên một trang:

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

Đầu ra: Firstname = Alex



Cookie với các phím

Nếu một cookie chứa một tập hợp nhiều giá trị, chúng tôi nói rằng cookie đó có các Khóa.

Trong ví dụ dưới đây, chúng tôi sẽ tạo một bộ sưu tập cookie có tên là "người dùng". Cookie "người dùng" có các Khóa chứa thông tin về người dùng:

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

Đọc tất cả Cookie

Nhìn vào đoạn mã sau:

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

Giả sử rằng máy chủ của bạn đã gửi tất cả các cookie ở trên cho người dùng.

Bây giờ chúng tôi muốn đọc tất cả các cookie được gửi đến một người dùng. Ví dụ bên dưới cho thấy cách thực hiện (lưu ý rằng đoạn mã bên dưới kiểm tra xem cookie có Khóa với thuộc tính HasKeys hay không):

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

Đầu ra:

firstname = Alex

user: firstname = John
user: lastname = Smith
user: country = Na Uy
người dùng: age = 25


Điều gì sẽ xảy ra nếu một trình duyệt KHÔNG hỗ trợ cookie?

Nếu ứng dụng của bạn xử lý các trình duyệt không hỗ trợ cookie, bạn sẽ phải sử dụng các phương pháp khác để chuyển thông tin từ trang này sang trang khác trong ứng dụng của mình. Có hai cách để làm điều này:

1. Thêm thông số vào URL

Bạn có thể thêm các tham số vào một URL:

<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>

Và truy xuất các giá trị trong tệp "welcome.asp" như sau:

<%
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. Sử dụng biểu mẫu

Bạn có thể sử dụng một biểu mẫu. Biểu mẫu chuyển đầu vào của người dùng đến "welcome.asp" khi người dùng nhấp vào nút Gửi:

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

Truy xuất các giá trị trong tệp "welcome.asp" như sau:

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