کوکی ها (ASP Cookies)
«کوکی (Cookie)» فایل کوچکی در مرورگر است. سرور آن را می گذارد. سپس مرورگر هر بار آن را همراه درخواست می فرستد. در «کوکی های ASP» با Response.Cookies می سازیم و با Request.Cookies می خوانیم. مثل برچسب اسم روی دفترت، اما برای وب.
ساخت کوکی با Response.Cookies
برای ساخت کوکی، قبل از تگ <html> مقدار دهی کن.
<%
Response.Cookies("firstname") = "Alex"
%>
هشدار: دستور Response.Cookies باید قبل از <html> باشد.
تاریخ انقضا (Expires) برای کوکی
می توانی تاریخ پایان برای کوکی بگذاری تا بعداً حذف شود.
<%
Response.Cookies("firstname") = "Alex"
Response.Cookies("firstname").Expires = #May 10,2012#
%>
خواندن کوکی با Request.Cookies
برای نمایش مقدار، نام کوکی را بخوان و چاپ کن.
<%
fname = Request.Cookies("firstname")
Response.Write("Firstname=" & fname)
%>
کوکی با کلیدها (Keys)
گاهی یک کوکی چند مقدار دارد. به این مقادیر «کلیدها» می گوییم.
<%
Response.Cookies("user")("firstname") = "John"
Response.Cookies("user")("lastname") = "Smith"
Response.Cookies("user")("country") = "Norway"
Response.Cookies("user")("age") = "25"
%>
خواندن همه کوکی ها
می توانی روی همه کوکی ها حلقه بزنی و مقدارها را لیست کنی.
<%
Dim x
Dim 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
%>
اگر مرورگر کوکی نداشت، چه کار کنیم؟
می توانی داده ها را با آدرس یا فرم جابه جا کنی.
1) افزودن پارامتر به URL
<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>
<%
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) استفاده از فرم
<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>
<%
fname = Request.Form("fname")
lname = Request.Form("lname")
Response.Write("<p>Hello " & fname & " " & lname & "!</p>")
Response.Write("<p>Welcome to my Web site!</p>")
%>
گام های عملی سریع
- یک کوکی ساده بساز و مقدارش را نمایش بده.
- برای کوکی تاریخ انقضا تنظیم کن و دوباره تست کن.
- یک کوکی چندکلیدی بساز و همه مقدارها را لیست کن.
جمع بندی سریع
- کوکی شناسه کاربر را نگه می دارد.
- با Response.Cookies می سازیم.
- با Request.Cookies می خوانیم.
- برای داده غیرحساس از URL یا فرم هم می شود.