Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как заставить cookies сохраняться между сеансами? / 18 сообщений из 18, страница 1 из 1
14.03.2003, 13:00
    #32120083
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Уважаемые коллеги!

Понадобилось сохранить инфу в куках, что то не получается.

Работаю в Intranet, WinNT4 (Regional settings - RUSSIA), IIS4, ASP (VBscript).
Отлаживаюсь на MSIE6+SP1, куки включены.

Вот фрагмент кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<%@ LANGUAGE= "VBSCRIPT" %> 
<%
Response.Expires
strID = Request( "id" )
If strID =  "" Then
  strID = Request.Cookies(" IDcode ")
Else  
  strID = UCase( Trim(strID) )
  Response.Cookies(" IDcode ") = strID
  Response.Cookies(" IDcode ").Expires = Date + 30 

  ' Эту строку вставил специально для проверки, создался ли кук
  strID = Request.Cookies("IDcode")
End if
:::


Проверочная строка во фрагменте Else показывает, что кук создается, так как strID принимает нужное значение, в то же время, если снова вернуться на страницу, то strID - пустое.

Есть подозрение, что куки получаются сессионные и игнорируется дата актуальности ( Response.Cookies(..).Expires )

Пробовал задавать дату и явно, вот так:
-- "12/31/2003"
-- #December 31, 2003#
Результат - тот же.

Вопрос: Где я не прав и что делать?
...
Рейтинг: 0 / 0
14.03.2003, 14:52
    #32120207
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Ну что, господа гуру, трудный вопрос я задал?
...
Рейтинг: 0 / 0
14.03.2003, 15:57
    #32120316
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
на первый взгляд всё правильно,
только что это за строка ?
Код: plaintext
Response.Expires
...
Рейтинг: 0 / 0
14.03.2003, 16:01
    #32120325
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Response.Expires [=0] - делает страницу устаревшей в момент создания, что предотвращает ее кэширование.

hDrummer, поделюсь рецептом засолки грибов, только помоги!
...
Рейтинг: 0 / 0
14.03.2003, 16:03
    #32120330
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
да просто нуля там не увидел, вот и удивился.
а я сейчас сижу на курсах по асп.нет и прохожу куки :)
а на асп уже с полгода ничего не писал - подзабылось уже...
но ради грибо что-то сейчас придумаем ;)
...
Рейтинг: 0 / 0
14.03.2003, 16:07
    #32120336
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
You can't just add 30 to Date. Use the DateAdd function to add 30
days to today's date.
...
Рейтинг: 0 / 0
14.03.2003, 16:27
    #32120366
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Попробовал DateAdd, вот:

Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'DateAdd'

Приходится юзать IIS со старой версией VBS, а как обновить - не знаю. И, что характерно, админ тоже не знает :0(

В результате пришлось часть функций, которые есть в поздних версиях, переписать ручками. Ну и наслаждаться непонятками, то ли версия кривая, то ли руки.

Абидна, да!

ЗЫ А Date+30 корректно работает (во всяком случае - в других ситуациях). Я уже сегодня несколько мегатонн примеров кода просмотрел - в основном так и пишут, без DateAdd.
...
Рейтинг: 0 / 0
14.03.2003, 16:36
    #32120380
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
вот смотрю по ходу дела в асп.нет
есть такой код

Response.Cookies.Add(objNewCookie);

может и в асп надо в респонс добавлять созданный кукис?
...
Рейтинг: 0 / 0
14.03.2003, 16:40
    #32120388
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Нет, в ASP еще не ОО подход.
Так, серверные объекты есть, а остальное - обычный процедурный язык.
...
Рейтинг: 0 / 0
14.03.2003, 16:46
    #32120395
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
а если попробовать отдельно эти все вещи прописать, беp if'ов и т.д. - будет работать?

типа
<%@ LANGUAGE="VBSCRIPT"%>
<%
Response.Cookies("IDcode") = "something"
Response.Cookies("IDcode").Expires = Date + 30
%>
...
Рейтинг: 0 / 0
14.03.2003, 16:51
    #32120404
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
у меня - отработало и сохранилось.

и вот такой код работает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<html>
<head>
</head>
<body>
<%@ LANGUAGE= "VBSCRIPT" %> 
<% 
Response.Write(Request.Cookies( "IDcode" ))
Response.Cookies( "IDcode" ) =  "something"  
Response.Cookies( "IDcode" ).Expires = Date +  30  
%>
</body>
</html>
...
Рейтинг: 0 / 0
14.03.2003, 16:53
    #32120406
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
т.е. отработало и сохранилось.
вывод - с кодом по сохранению кукисов всё ок. что-то в логике не так или настройке приложения.

а вообще можно ж глянуть файл сам кукисный есть на клиенте или нет?
...
Рейтинг: 0 / 0
14.03.2003, 16:57
    #32120412
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Какие именно грибы будут?
...
Рейтинг: 0 / 0
14.03.2003, 16:59
    #32120414
akuz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Блин, все локальные диски перерыл, в поисках работающего кода и без толку, видать в архив легло.

Есть одна подозрительная строчка,
strID = Request("id")
врядли на что то влияющая, но

MSDN:
All variables can be accessed directly by calling Request(variable) without the collection name. In this case, the Web server searches the collections in the following order.

QueryString
Form
Cookies
ClientCertificate
ServerVariables
If a variable with the same name exists in more than one collection, the Request object returns the first instance that the object encounters.

It is strongly recommended that when referring to members of a collection the full name be used. For example, rather than Request.(AUTH_USER) use Request.ServerVariables(AUTH_USER). This will allow the server to locate the item more quickly.

Попробуй так, посмотри чё выдаст. И на всякий случай проверь настройки браузёра. Извини, самому лень проверять.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<%@ LANGUAGE= "VBSCRIPT" %> 
<%
Response.Expires
strID = Request( "id" )
Response.Write  "param: "  & strID &  "</br>" 
If strID =  "" Then
  strID = Request.Cookies(" IDcode ")
  Response.Write " load:  " & strID & " </br> "
Else  
  strID = UCase( Trim(strID) )
  Response.Cookies(" IDcode ") = strID
  Response.Cookies(" IDcode ").Expires = Date + 30 
  Response.Cookies("IDcode ").Path = " \ "

  strID = Request.Cookies(" IDcode ")
  Response.Write " expires:  " & (Date + 30 ) & "</br> "
  Response.Write " saved:  " & strID & " </br>"
End if
...
Рейтинг: 0 / 0
14.03.2003, 17:01
    #32120416
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
И на всякий случай проверь настройки браузёра
вот в браузере privacy в high если стоит - до свиданья кукис.
...
Рейтинг: 0 / 0
14.03.2003, 17:02
    #32120420
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Кажется, нашел траблу.

Поднял я у себя, на W2000 pro, IIS №5, положил скрипты, подключился с другого хоста (ибо, как известно, куки с localhost не ставятся) - вуаля!
Есть куки.

Значица - кривенький у нас IIS4 стоит.
И это радует, т.к. отводит подозрения от моих рук.

Спасибо hDrummer, урожая тебе грибного
...
Рейтинг: 0 / 0
14.03.2003, 17:06
    #32120427
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
спасибо :)

(ибо, как известно, куки с localhost не ставятся)
именно с локалхоста я и генерил кукисы
теми кусками кода, который выкладывал ;)
и всё присутствует
ЗЫ
ну ОК что у тебя всё получилось.
i'm glad.
...
Рейтинг: 0 / 0
14.03.2003, 17:07
    #32120429
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить cookies сохраняться между сеансами?
Блин, пока писал постинг, здесь мозговой штурм организовался :0))

Спсаибо, парни, за участие!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как заставить cookies сохраняться между сеансами? / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]