ASP Cookie

Cookie часто используется для идентификации пользователей.

Пример

Welcome cookie
Как создать welcome cookie.

Что такое Cookie?

Cookie часто используется для идентификации пользователей. Cookie — это небольшой файл, оставляемый сервером на компьютере пользователя. Каждый раз, когда одно и то же устройство запрашивает страницу через браузер, оно также отправляет cookie. Через ASP вы можете создавать и получать значения cookie.

Как создать cookie?

"Response.Cookies" команда используется для создания cookie.

Внимание:Команда Response.Cookies должна быть расположена перед тегом <html>.

В следующем примере мы создадим cookie с именем "firstname" и присвоим ему значение "Alex":

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

Также можно присваивать свойства cookie, например, устанавливать время失效 cookie:

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

Как получить значение cookie?

"Request.Cookies" команда используется для получения значений cookie.

В следующем примере мы получили значение cookie с именем "firstname" и показали его на странице:

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

Вывод:

Firstname=Alex

Cookie с ключами

Если cookie содержит множество значений в виде набора, мы можем сказать, что cookie имеет ключи (Keys).

В следующем примере мы создадим набор cookie под названием "user". Cookie "user" содержит ключи, содержащие информацию о пользователе:

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

Чтение всех cookie

Пожалуйста, прочитайте следующий код:

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

Предположим, что ваш сервер передал все эти cookie пользователю.

Теперь нам нужно прочитать эти cookie. В следующем примере мы покажем, как это можно сделать (обратите внимание, что下面的 код будет использовать HasKeys для проверки наличия ключей в cookie):

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

Вывод:

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

Как справляться с браузерами, которые не поддерживают cookie?

Если ваше приложение должно взаимодействовать с браузерами, которые не поддерживают cookie, вам придется использовать другие методы для передачи информации между страницами вашего приложения. Есть два способа:

1. Добавление параметров в URL

Вы можете добавить параметры в URL:

<a href="welcome.asp?fname=John&lname=Adams">
Перейти на страницу приветствия
</a>

Затем в файле "welcome.asp", подобном следующему, возвращаем эти значения:

<%
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. Использование формы

Вы также можете использовать форму. При нажатии на кнопку "Подтвердить" форма отправит введенные данные в "welcome.asp":

<form method="post" action="welcome.asp">
Имя:  <input type="text" name="fname" value="">
Фамилия: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

Затем в файле "welcome.asp" возвращаем эти значения, например:

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