آموزش asp >> طرز ساخت کوکی ها
یک Cookie اغلب براى شناسائى کاربر استفاده مىشود.
مثالها
Cookie خوشآمدگویى
چگونه یک Cookie خوشآمدگویى درست کنیم.
یک Cookie چیست؟
یک Cookie اغلب براى شناسندن کاربر استفاده مىشود. یک Cookie یک فایل کوچک است که سرور آن را در کامپیوتر کاربر جاسازى مىکند. هر بار که همان کامپیوتر یک صفحه را درخواست مىکند، Cookie نیز فرستاده مىشود. با ASP شما مىتوانید هم مقادیر Cookie را بسازید و هم آنها را استخراج نمایید.
چگونه یک Cookie بسازید؟
Response.Cookie براى ساختن Cookie استفاده مىشود.
توجه: Response.Cookie باید قبل از تگ درج شود.
در مثال زیر، ما یک Cookie درست خواهید کردم و اسم آن را "firstname" مىگذاریم و مقدار "Alex" را به آن مىدهیم:
<% Response.Cookies("firstname")="Alex" %>همچنین امکان دارد که خصوصیاتى را مثل تاریخ انقضاى cookie را به آن بدهید:
<% Response.Cookies("firstname")="Alex" Response.Cookies("firstname").Expires=#May 10,2002# %>
چگونه مقدار cookieها را استخراج کنیم
دستور "Request.Cookies" براى استخراج اطلاعات از cookieها استفاده مىشود.
در مثال زیر، ما مقدار cookieى با نام "firstname" را استخراج کرده و در صفحه نشان دادیم:
<% fname=Request.Cookies("firstname") response.write("Firstname=" & fname) %>خروجى:
Firstname=Alex
یک Cookie با کلید
اگر یک cookie حاوى مجموعهاى از مقادیر باشد، مىگوییم آن cookie دارى کلیدهایى است.
در مثال زیر، ما یک مجموعه cookie با نام "user" درست مىکنیم. cookie به نام "user" داراى کلیدهایى است که حاوى اطلاعاتى راجع به کاربر است.
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><code><%</code></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><code>Response.Cookies("user")("firstname")="John"</code></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><code>Response.Cookies("user")("lastname")="Smith"</code></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><code>Response.Cookies("user")("country")="Norway"</code></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><code>Response.Cookies("user")("age")="25"</code></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><code>%></code></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr">خواندن همه</span><span dir="ltr"> Cookie</span>ها به كد زير نگاه كنيد<span dir="ltr">:</span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><%</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Response.Cookies("firstname")="Alex"</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Response.Cookies("user")("firstname")="John"</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Response.Cookies("user")("lastname")="Smith"</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Response.Cookies("user")("country")="Norway"</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Response.Cookies("user")("age")="25"</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>%></code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"> </span></span> |
فرض کنیم که سرور شما همه cookieهاى بالا را به کاربر فرستاده است.
حالا ما مىخواهیم تمام cookieها را که به کاربر فرستاده شده است را بخوانیم. مثال زیر نشان مىدهد که چگونه این کار را انجام دهیم (توجه داشته باشید که در مثال پایین با استفاده از HasKeys چک مىکند که آیا cookie کلید دارد یا نه؟
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>html></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>body></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><%</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>dim x,y</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>for each x in Request.Cookies</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> response.write("<p>")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> if Request.Cookies(x).HasKeys then</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> for each y in Request.Cookies(x)</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> response.write(x & ":" & y & "=" & Request.Cookies(x)(y))</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> response.write("<br />")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> next</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> else</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> Response.Write(x & "=" & Request.Cookies(x) & "<br />")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> end if</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code> response.write "</p>"</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>next</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>%></code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>/body></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>/html></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"> </span></span> |
خروجى:
firstname=Alex user:firstname=John user:lastname=Smith user: country=Norway user: age=25
اگر Browser داراى پشتیبانى Cookie نباشد چه اتفاقی مىافتد؟
اگر برنامه شما با Browserى سر و کار داشته باشد که cookie را پشتیبانى نمىکند، باید از روشهاى دیگرى براى انتقال اطلاعات از یک صفحه به صفحات دیگر در برنامه خود استفاده کنید. دو راه براى انجام این کار هست:
۱٫ اضافه کردن پارامترها به URL
شما مىتوانید پارامترها را به URL اضافه کنید:
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>a href="welcome.asp?fname=John&lname=Smith"></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Go to Welcome Page<</code></span>/a></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"> </span></span> |
و مقادیر موجود در "welcome.asp" را همچون مثال زیر استخراج کنید:
<% fname=Request.querystring("fname") lname=Request.querystring("lname") response.write("
Hello " & fname & " " & lname & "!
") response.write("
Welcome to my Web site!
") %>2. استفاده از form
شما مىتوانید از فرمها استفاده کنید. وقتى که کاربر روى دکمه Submit کلیک کند فرم ورودىهاى کاربر را به "welcome.asp" رد مىکند:
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>form method="post" action="welcome.asp"></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>First Name: <</code></span>input type="text" name="fname" value=""></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>Last Name: <</code></span>input type="text" name="lname" value=""></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>input type="submit" value="Submit"></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><</code></span>/form></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"> </span></span> |
مقادیر موجود در "welcome.asp" را همچون این مثال استخراج کنید:
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code><%</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>fname=Request.form("fname")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>lname=Request.form("lname")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>response.write("<p>Hello " & fname & " " & lname & "!</p>")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>response.write("<p>Welcome to my Web site!</p>")</code></span></span></span> |
1 |
<span style="font-size: 12px;"><span style="font-family: tahoma,geneva,sans-serif;"><span dir="ltr"><code>%></code></span></span></span> |
دیدگاهتان را بنویسید