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