Soubory cookie ASP


K identifikaci uživatele se často používá cookie.


Další příklady


Jak vytvořit uvítací cookie.


Co je to cookie?

K identifikaci uživatele se často používá cookie. Cookie je malý soubor, který server vloží do počítače uživatele. Pokaždé, když stejný počítač požádá o stránku s prohlížečem, odešle také cookie. S ASP můžete vytvářet i načítat hodnoty cookie.


Jak vytvořit soubor cookie?

Příkaz "Response.Cookies" se používá k vytváření souborů cookie.

Poznámka: Příkaz Response.Cookies se musí objevit PŘED tagem <html>.

V níže uvedeném příkladu vytvoříme soubor cookie s názvem „firstname“ a přiřadíme mu hodnotu „Alex“:

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

Souboru cookie je také možné přiřadit vlastnosti, jako je nastavení data, kdy má soubor cookie vypršet:

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

Jak získat hodnotu cookie?

Příkaz "Request.Cookies" se používá k načtení hodnoty cookie.

V níže uvedeném příkladu načteme hodnotu souboru cookie s názvem „křestní jméno“ a zobrazíme ji na stránce:

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

Výstup: Jméno=Alex



Cookie s klíči

Pokud cookie obsahuje kolekci více hodnot, říkáme, že cookie má klíče.

V níže uvedeném příkladu vytvoříme kolekci souborů cookie s názvem „uživatel“. Soubor cookie „uživatel“ má klíče, které obsahují informace o uživateli:

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

Přečtěte si všechny soubory cookie

Podívejte se na následující kód:

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

Předpokládejme, že váš server odeslal uživateli všechny výše uvedené soubory cookie.

Nyní chceme číst všechny soubory cookie odeslané uživateli. Níže uvedený příklad ukazuje, jak to udělat (všimněte si, že kód níže kontroluje, zda má cookie klíče s vlastností HasKeys):

<!DOCTYPE html>
<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>

Výstup:

jméno=Alex

user:firstname=Jan
user:lastname=Smith
user:country=Norsko
user:age=25


Co když prohlížeč NEPODPORUJE soubory cookie?

Pokud vaše aplikace pracuje s prohlížeči, které nepodporují soubory cookie, budete muset použít jiné metody k předávání informací z jedné stránky na druhou ve vaší aplikaci. Existují dva způsoby, jak to udělat:

1. Přidejte parametry k URL

K adrese URL můžete přidat parametry:

<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>

A načtěte hodnoty v souboru „welcome.asp“ takto:

<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>

2. Použijte formulář

Můžete použít formulář. Formulář předá uživatelský vstup na „welcome.asp“, když uživatel klikne na tlačítko Odeslat:

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

Načtěte hodnoty v souboru „welcome.asp“ takto:

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>