Zbiór Cookies ASP

Podręcznik referencyjny obiektu Request

Zbiór Cookies używany do ustawiania lub uzyskiwania wartości cookie. Jeśli cookie nie istnieje, jest tworzony i przypisywana mu określona wartość.

Komentarz:Polecenie Response.Cookies musi znajdować się przed znacznikiem <html>.

Gramatyka:

Response.Cookies(name)[(key)|.attribute]=value
variablename=Request.Cookies(name)[(key)|.attribute]
Parametry Opis
name Wymagane. Nazwa cookie.
value Wymagane (dla polecenia Response.Cookies). Wartość cookie.
attribute

Opcjonalnie. Informacje dotyczące cookie. Może to być jeden z poniższych parametrów.

  • Domain - tylko do zapisu; cookie jest wysyłane tylko do żądań docierających do tej domeny.
  • Expires - tylko do zapisu; data wygaśnięcia cookie. Jeśli nie podano daty, cookie wygasa w momencie zakończenia sesji.
  • HasKeys - tylko do odczytu; określa, czy cookie ma klucz (jest to jedyny atrybut, który można użyć z poleceniem Request.Cookies)
  • Path - tylko do zapisu; jeśli jest ustawiona, cookie jest wysyłane tylko do żądań docierających do tej ścieżki. Jeśli nie jest ustawiona, używa się ścieżki aplikacji.
  • Secure - tylko do zapisu; wskazuje, czy cookie jest bezpieczne.
key Opcjonalnie. Klucz, w którym wartość jest przypisywana.

Przykład

"Response.Cookies" poleca tworzenie cookie lub ustawianie wartości cookie:

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

W powyższym kodzie utworzyliśmy cookie o nazwie "firstname" i przypisaliśmy mu wartość "alex".

Można również ustawić atrybuty cookie, na przykład ustawić datę wygaśnięcia cookie:

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

Obecnie wartość cookie o nazwie "firstname" wynosi "Alex", a jego data wygaśnięcia w komputerze użytkownika to 10 maja 2002 roku.

"Request.Cookies" polega na pobraniu wartości cookie.

W poniższym przykładzie pobieramy wartość cookie "firstname" i wyświetlamy ją na stronie:

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

Wynik:

Firstname=Alex

Cookie może zawierać kolekcję wielowartościową. Nazywamy to cookie z kluczem.

W poniższym przykładzie chcemy utworzyć kolekcję cookie o nazwie "user". Cookie "user" zawiera klucze zawierające informacje o użytkowniku.

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

Poniżej znajduje się kod, który może odczytać wszystkie cookie, które serwer wysłał do użytkownika. Proszę zauważyć, że użyliśmy atrybutu HasKeys, aby sprawdzić, czy cookie ma klucz:

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

Wynik:

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

Podręcznik referencyjny obiektu Request