Pliki cookie ASP
Plik cookie jest często używany do identyfikacji użytkownika.
Więcej przykładów
Jak utworzyć powitalny plik cookie.
Co to jest plik cookie?
Plik cookie jest często używany do identyfikacji użytkownika. Plik cookie to mały plik, który serwer osadza na komputerze użytkownika. Za każdym razem, gdy ten sam komputer zażąda strony z przeglądarką, wyśle również plik cookie. Dzięki ASP możesz zarówno tworzyć, jak i pobierać wartości plików cookie.
Jak stworzyć plik cookie?
Do tworzenia plików cookie służy polecenie „Odpowiedź.Cookies”.
Uwaga: Polecenie Response.Cookies musi pojawić się PRZED tagiem <html>.
W poniższym przykładzie utworzymy plik cookie o nazwie „firstname” i przypiszemy do niego wartość „Alex”:
<%
Response.Cookies("firstname")="Alex"
%>
Możliwe jest również przypisanie właściwości do pliku cookie, na przykład ustawienie daty wygaśnięcia pliku cookie:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
Jak odzyskać wartość pliku cookie?
Polecenie „Zapytanie.Cookies” służy do pobrania wartości pliku cookie.
W poniższym przykładzie pobieramy wartość pliku cookie o nazwie „imię” i wyświetlamy ją na stronie:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Dane wyjściowe: Imię = Alex
Ciastko z kluczami
Jeśli plik cookie zawiera zbiór wielu wartości, mówimy, że plik cookie zawiera klucze.
W poniższym przykładzie utworzymy kolekcję plików cookie o nazwie „user”. Plik cookie „użytkownika” zawiera klucze, które zawierają informacje o użytkowniku:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Przeczytaj wszystkie pliki cookie
Spójrz na następujący kod:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Załóżmy, że Twój serwer wysłał wszystkie powyższe pliki cookie do użytkownika.
Teraz chcemy odczytać wszystkie ciasteczka wysłane do użytkownika. Poniższy przykład pokazuje, jak to zrobić (zwróć uwagę, że poniższy kod sprawdza, czy plik cookie ma klucze z właściwością 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>
Wyjście:
imię = Alex
user:firstname=Jan
user:lastname=Kowalski
user:kraj=Norwegia
user:wiek=25
Co się stanie, jeśli przeglądarka NIE obsługuje plików cookie?
Jeśli Twoja aplikacja obsługuje przeglądarki, które nie obsługują plików cookie, będziesz musiał użyć innych metod do przekazywania informacji z jednej strony na drugą w Twojej aplikacji. Można to zrobić na dwa sposoby:
1. Dodaj parametry do adresu URL
Możesz dodać parametry do adresu URL:
<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>
I pobierz wartości z pliku „welcome.asp” w następujący sposób:
<%
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. Użyj formularza
Możesz skorzystać z formularza. Formularz przekazuje dane wejściowe użytkownika do „welcome.asp”, gdy użytkownik kliknie przycisk Prześlij:
<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>
Pobierz wartości z pliku „welcome.asp” w następujący sposób:
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>