คุกกี้ ASP
คุกกี้มักใช้เพื่อระบุตัวผู้ใช้
ตัวอย่างเพิ่มเติม
วิธีสร้างคุกกี้ต้อนรับ
คุกกี้คืออะไร?
คุกกี้มักใช้เพื่อระบุตัวผู้ใช้ คุกกี้คือไฟล์ขนาดเล็กที่เซิร์ฟเวอร์ฝังไว้ในคอมพิวเตอร์ของผู้ใช้ แต่ละครั้งที่คอมพิวเตอร์เครื่องเดียวกันร้องขอหน้าที่มีเบราว์เซอร์ มันก็จะส่งคุกกี้ไปด้วย ด้วย ASP คุณสามารถสร้างและดึงค่าคุกกี้ได้
จะสร้างคุกกี้ได้อย่างไร?
คำสั่ง "Response.Cookies" ใช้สำหรับสร้างคุกกี้
หมายเหตุ:คำสั่ง Response.Cookies ต้องปรากฏก่อนแท็ก <html>
ในตัวอย่างด้านล่าง เราจะสร้างคุกกี้ชื่อ "firstname" และกำหนดค่า "Alex" ให้กับคุกกี้:
<%
Response.Cookies("firstname")="Alex"
%>
นอกจากนี้ยังสามารถกำหนดคุณสมบัติให้กับคุกกี้ได้ เช่นการตั้งค่าวันที่เมื่อคุกกี้จะหมดอายุ:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
วิธีการดึงค่าคุกกี้?
คำสั่ง "Request.Cookies" ใช้เพื่อดึงค่าคุกกี้
ในตัวอย่างด้านล่าง เราดึงค่าของคุกกี้ชื่อ "ชื่อ" และแสดงบนหน้า:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
เอาท์พุต: Firstname=Alex
คุกกี้กับกุญแจ
หากคุกกี้ประกอบด้วยคอลเลกชั่นของค่าต่างๆ มากมาย แสดงว่าคุกกี้นั้นมีคีย์
ในตัวอย่างด้านล่าง เราจะสร้างคอลเล็กชันคุกกี้ชื่อ "ผู้ใช้" คุกกี้ "ผู้ใช้" มีคีย์ที่มีข้อมูลเกี่ยวกับผู้ใช้:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
อ่านคุกกี้ทั้งหมด
ดูรหัสต่อไปนี้:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
สมมติว่าเซิร์ฟเวอร์ของคุณส่งคุกกี้ทั้งหมดข้างต้นไปยังผู้ใช้
ตอนนี้เราต้องการอ่านคุกกี้ทั้งหมดที่ส่งไปยังผู้ใช้ ตัวอย่างด้านล่างแสดงวิธีการดำเนินการ (โปรดทราบว่าโค้ดด้านล่างตรวจสอบว่าคุกกี้มีคีย์ที่มีคุณสมบัติ HasKeys หรือไม่):
<!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=John
ผู้ใช้:lastname=Smith
ผู้ใช้:country=นอร์เวย์
ผู้ใช้:age=25
จะเกิดอะไรขึ้นหากเบราว์เซอร์ไม่รองรับคุกกี้
หากแอปพลิเคชันของคุณเกี่ยวข้องกับเบราว์เซอร์ที่ไม่สนับสนุนคุกกี้ คุณจะต้องใช้วิธีอื่นในการส่งข้อมูลจากหน้าหนึ่งไปยังอีกหน้าหนึ่งในแอปพลิเคชันของคุณ มีสองวิธีในการทำเช่นนี้:
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. ใช้แบบฟอร์ม
คุณสามารถใช้แบบฟอร์ม แบบฟอร์มส่งข้อมูลของผู้ใช้ไปที่ "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>")
%>