Файлы cookie ASP
Файл cookie часто используется для идентификации пользователя.
Дополнительные примеры
Как создать приветственный файл cookie.
Что такое куки?
Файл cookie часто используется для идентификации пользователя. Файл cookie — это небольшой файл, который сервер встраивает в компьютер пользователя. Каждый раз, когда один и тот же компьютер запрашивает страницу в браузере, он также отправляет файл cookie. С помощью ASP вы можете как создавать, так и извлекать значения файлов cookie.
Как создать куки?
Команда «Response.Cookies» используется для создания файлов cookie.
Примечание. Команда Response.Cookies должна находиться ПЕРЕД тегом <html>.
В приведенном ниже примере мы создадим файл cookie с именем «имя» и присвоим ему значение «Алекс»:
<%
Response.Cookies("firstname")="Alex"
%>
Также возможно назначить свойства для файла cookie, например, установить дату истечения срока действия файла cookie:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
Как получить значение cookie?
Команда «Request.Cookies» используется для получения значения файла cookie.
В приведенном ниже примере мы получаем значение файла cookie с именем «firstname» и отображаем его на странице:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Вывод: Имя=Алекс
Печенье с ключами
Если файл cookie содержит набор нескольких значений, мы говорим, что файл cookie содержит ключи.
В приведенном ниже примере мы создадим коллекцию файлов cookie с именем «пользователь». Файл cookie «user» имеет ключи, которые содержат информацию о пользователе:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Прочитать все файлы cookie
Посмотрите на следующий код:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Предположим, что ваш сервер отправил пользователю все вышеуказанные файлы cookie.
Теперь мы хотим прочитать все файлы cookie, отправленные пользователю. В приведенном ниже примере показано, как это сделать (обратите внимание, что приведенный ниже код проверяет наличие у файла cookie ключей со свойством 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>
Вывод:
имя=Алекс
user:firstname=John
user:lastname=Smith
user:country=Норвегия
user:age=25
Что делать, если браузер НЕ поддерживает файлы cookie?
Если ваше приложение работает с браузерами, не поддерживающими файлы cookie, вам придется использовать другие методы для передачи информации с одной страницы на другую в вашем приложении. Есть два способа сделать это:
1. Добавьте параметры к URL
Вы можете добавить параметры к URL:
<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</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">
First Name: <input type="text" name="fname" value="">
Last Name: <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>")
%>