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