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>")
%>