کوکی ASP

کوکی معمولاً برای شناسایی کاربران استفاده می‌شود.

مثال

کوکی خوشامدگویی
چگونه کوکی خوشامدگویی ایجاد می‌کنیم.

کوکی چیست؟

کوکی معمولاً برای شناسایی کاربران استفاده می‌شود. کوکی یک فایل کوچک است که سرور در کامپیوتر کاربر می‌گذارد. هر بار که یک کامپیوتر از طریق مرورگر درخواست صفحه‌ای می‌کند، این کامپیوتر کوکی را نیز ارسال می‌کند. از طریق ASP، شما می‌توانید ارزش کوکی را ایجاد و بازیابی کنید.

چگونه کوکی ایجاد می‌شود؟

دستور "Response.Cookies" برای ایجاد کوکی استفاده می‌شود.

توجه داشته باشید:دستور Response.Cookies باید قبل از برچسب <html> قرار گیرد.

در مثال زیر، ما یک کوکی به نام "firstname" ایجاد خواهیم کرد و مقدار آن را "Alex" تنظیم می‌کنیم:

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

تنظیم ویژگی‌های کوکی نیز امکان‌پذیر است، به عنوان مثال، تنظیم زمان انقضای کوکی:

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

چگونه می‌توان مقدار کوکی را بازیابی کرد؟

"Request.Cookies" دستور برای بازیابی مقدار کوکی است.

در مثال زیر، ما مقدار کوکی به نام "firstname" را بازیابی کرده‌ایم و آن را روی صفحه نمایش داده‌ایم:

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

خروجی:

Firstname=Alex

کوکی با کلید

اگر یک کوکی شامل مجموعه‌ای از چندین مقدار باشد، می‌توان گفت که کوکی دارای کلیدها (Keys) است.

در مثال زیر، ما یک مجموعه کوکی به نام "user" ایجاد خواهیم کرد. کوکی "user" دارای کلیدهایی است که شامل اطلاعات کاربر می‌شود:

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

تمام کوکی‌ها را بخوانید

لطفاً کد زیر را بخوانید:

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

فرض کنید سرور شما تمام این کوکی‌ها را به یک کاربر ارسال کرده است.

امروز، ما نیاز داریم که این کوکی‌ها را بخوانیم. در اینجا مثالی برای شما ارائه می‌شود که چگونه می‌توانید این کار را انجام دهید (لطفاً توجه داشته باشید که کد زیر از HasKeys برای بررسی اینکه آیا کوکی دارای کلید است یا خیر استفاده می‌کند):

<html>
<body>
<%
dim x,y
 برای هر x در 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=Adams
user:country=UK
user:age=25

چگونه باید با مرورگرهایی که از کوکی‌ها پشتیبانی نمی‌کنند، مقابله کرد؟

اگر برنامه شما نیاز دارد با مرورگرهایی که از کوکی‌ها پشتیبانی نمی‌کنند، کار کند، شما باید از روش‌های دیگری برای انتقال اطلاعات بین صفحات برنامه خود استفاده کنید. دو روش وجود دارد:

1. اضافه کردن پارامترها به URL

شما می‌توانید پارامترهایی به URL اضافه کنید:

<a href="welcome.asp?fname=John&lname=Adams">
به صفحه خوشامدگویی بروید
</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. استفاده از فرم

شما همچنین می‌توانید از فرم استفاده کنید. هنگامی که کاربر بر روی دکمه ارسال کلیک می‌کند، فرم داده‌های ورودی کاربر را به "welcome.asp" ارسال می‌کند:

<form method="post" action="welcome.asp">
نام:  <input type="text" name="fname" value="">
نام خانوادگی: <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>")
%>