طرز ساخت کوکي ها
نوشته شده توسط مدیریت سایت   

يك Cookie اغلب براى شناسائى كاربر استفاده مى‌شود.

 مثالها
Cookie خوش‌آمدگويى
چگونه يك Cookie خوش‌آمدگويى درست كنيم.

يك Cookie چيست؟
يك Cookie اغلب براى شناسندن كاربر استفاده مى‌شود. يك Cookie يك فايل كوچك است كه سرور آن را در كامپيوتر كاربر جاسازى مى‌كند. هر بار كه همان كامپيوتر يك صفحه را درخواست مى‌كند، Cookie نيز فرستاده مى‌شود. با ASP شما مى‌توانيد هم مقادير Cookie را بسازيد و هم آنها را استخراج نماييد.
چگونه يك Cookie بسازيد؟
Response.Cookie
براى ساختن Cookie استفاده مى‌شود.

توجه: Response.Cookie بايد قبل از تگ درج شود.

در مثال زير، ما يك Cookie درست خواهيد كردم و اسم آن را "firstname" مى‌گذاريم و مقدار "Alex" را به آن مى‌دهيم:

همچنين امكان دارد كه خصوصياتى را مثل تاريخ انقضاى cookie را به آن بدهيد:


چگونه مقدار cookieها را استخراج كنيم
دستور "Request.Cookies" براى استخراج اطلاعات از cookieها استفاده مى‌شود.

در مثال زير، ما مقدار cookieى با نام "firstname" را استخراج كرده و در صفحه نشان داديم:


خروجى:Firstname=Alex
يك Cookie با كليد
اگر يك cookie حاوى مجموعه‌اى از مقادير باشد، مى‌گوييم آن cookie دارى كليدهايى است.

در مثال زير، ما يك مجموعه cookie با نام "user" درست مى‌كنيم. cookie به نام "user" داراى كليدهايى است كه حاوى اطلاعاتى راجع به كاربر است.

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

خواندن همه Cookieها
به كد زير نگاه كنيد:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
 
فرض كنيم كه سرور شما همه cookieهاى بالا را به كاربر فرستاده است.

حالا ما مى‌خواهيم تمام cookieها را كه به كاربر فرستاده شده است را بخوانيم. مثال زير نشان مى‌دهد كه چگونه اين كار را انجام دهيم (توجه داشته باشيد كه در مثال پايين با استفاده از HasKeys چك مى‌كند كه آيا cookie كليد دارد يا نه؟
<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=Alex user:firstname=John user:lastname=Smith user: country=Norway user: age=25
اگر Browser داراى پشتيبانى Cookie نباشد چه اتفاقي مى‌افتد؟

اگر برنامه شما با Browserى سر و كار داشته باشد كه cookie را پشتيبانى نمى‌كند، بايد از روش‌هاى ديگرى براى انتقال اطلاعات از يك صفحه به صفحات ديگر در برنامه خود استفاده كنيد. دو راه براى انجام اين كار هست:

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

شما مى‌توانيد پارامترها را به URL اضافه كنيد:
<a href="welcome.asp?fname=John&lname=Smith">
Go to Welcome Page</a>
 

و مقادير موجود در "welcome.asp" را همچون مثال زير استخراج كنيد:

2.
استفاده از form
شما مى‌توانيد از فرم‌ها استفاده كنيد. وقتى كه كاربر روى دكمه Submit كليك كند فرم ورودى‌هاى كاربر را به "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>")
%>
 
Pooya Portal