ASP Cookie

Cookie genellikle kullanıcıları tanımlamak için kullanılır.

Örnek

Hoş geldin cookie
Hoş geldin cookie'si nasıl oluşturulur.

Cookie nedir?

Cookie genellikle kullanıcıları tanımlamak için kullanılır. Cookie, sunucunun kullanıcı bilgisayarında bıraktığı küçük bir dosya türüdür. Aynı bilgisayar tarayıcı üzerinden bir sayfa talep ettiğinde, bu bilgisayar cookie'yi de gönderir. ASP ile cookie değerlerini oluşturabilir ve geri alabilirsiniz.

Cookie nasıl oluşturulur?

"Response.Cookies" komutu, cookie oluşturmak için kullanılır.

Dikkat:Response.Cookies komutunun <html> etiketi öncesinde olması gerekmektedir.

Aşağıdaki örnekte, "firstname" adında bir cookie oluşturup, ona "Alex" değerini atayacağız:

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

Cookie'ye özellik atamak da mümkündür, örneğin cookie'nin sona erme zamanını ayarlamak:

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

Cookie'nin değerini nasıl alabiliriz?

"Request.Cookies" komutu, cookie'nin değerini almak için kullanılır.

Aşağıdaki örnekte, "firstname" adlı cookie'nin değerini geri alıp, bu değeri sayfaya gösterdik:

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

Çıktı:

Firstname=Alex

Anahtarlı cookie

Bir cookie'nin birden fazla değeri içeren bir koleksiyon içeriyorsa, cookie'nin anahtarlarına sahip olduğunu söyleyebiliriz.

Aşağıdaki örnekte, "user" adında bir cookie kümesi oluşturacağız. "user" cookie'si, kullanıcı bilgilerini içeren anahtarlar içeren bir koleksiyona sahiptir:

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

Tüm cookie'leri okuyun

Aşağıdaki kodu okuyun:

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

Düşünün ki sunucunuz tüm bu cookie'leri bir kullanıcıya gönderdi.

Şimdi, bu cookie'leri okumamız gerekiyor. Aşağıdaki örnek, bunu nasıl yapabileceğinizi gösterecektir (aşağıdaki kod, cookie'nin anahtarlarını kontrol etmek için HasKeys kullanacaktır):

<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>

Çıktı:

firstname=Alex
user:firstname=John
user:lastname=Adams
user:country=UK
user:age=25

Cookie'yi Desteklemeyen Tarayıcılarla Nasıl Başa Çıkarım?

Eğer uygulamanız cookie'yi desteklemeyen tarayıcılarla etkileşime girmek zorunda kalırsa, uygulamanızın sayfaları arasında bilgi geçişi yapmak için başka yöntemler kullanmanız gerekecektir. İki yöntem var:

1. URL'ye Parametre Ekleme

URL'ye parametre ekleyebilirsiniz:

<a href="welcome.asp?fname=John&lname=Adams">
Hoş Geldiniz Sayfasına Git
</a>

Aşağıdaki gibi "welcome.asp" dosyasında bu değerleri almak için:

<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Web siteme hoş geldiniz!</p>")
%>

2. Formu Kullanma

Ayrıca formu kullanabilirsiniz. Kullanıcı gönderme düğmesine tıkladığında, form kullanıcı girdi verilerini "welcome.asp" ye gönderir:

<form method="post" action="welcome.asp">
İsim:  <input type="text" name="fname" value="">
Soyadı: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

Aşağıdaki gibi "welcome.asp" dosyasında bu değerleri almak için:

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Web siteme hoş geldiniz!</p>")
%>