Автор Тема: Браузеры и Cookies (JavaScript, PHP)  (Прочитано 3049 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн misnik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://rzforum.ru
Браузеры и Cookies (JavaScript, PHP)
« : 31 Июля 2005, 00:37:06 »
Я разработал новый движок форума и при отладке сталкнулся с проблемой, которая ставит меня в тупик, потому что я затрудняюсь даже определить ее источник.

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

Итак.

На форуме для отслеживания обновлений в темах и разделах я использую Cookie. Например, при открытии темы записывается следующий "кук": pbcforum_id_s_id_com, где s_id - это ID тему, а значение "кука" равно числу сообщений в теме в данный момент.
При открытии списка тем проверяется равенство "кука" числу сообщений в теме и на основе результата этого сравнения делается вывод о наличии новых сообщений. "Кук" ставится следующим JS-скриптом:

";

Проверка осуществляется средствами PHP при генерации страницы.

Вроде, все правильно и должно работать.

Однако на практике часть "куков" умирает по непонятным причинам.

Выглядит это так. Захожу на форум, вижу 10 новых тем. Начинаю их просматривать, они становятся прочитанными. Вдруг открываю очередную тему, возвращаюсь к списоку, и вижу, что одна или две темы, которые 1 минуту назад были помечены как прочитанные, теперь отмечены, как имеющие новые сообщения. Начинаю разбираться, смотрю "куки" для данного домена - "кука" с данным ID просто нет (а 2 минуты назад - был, потому что я только что просматривал список и новых сообщений не было).

Можете сами проверить: http://rzforum.ru, откройте по порядку все темы, а потом рефрешните список тем.

И вот это происходит регулярно на всех браузерах (я смотрел в IE, Opera 7.51, Opera 8.01, Firefox). Хотя в теории вроде бы все правильно: "куки" записываются, имена "куков" не совпадают, expires установлены на 5 лет.

Но "куки" пропадают и это факт. А я не знаю, в чем дело: в браузере, который не хочет хранить два десятка "кук" для одного домена, в скриптах, в кривых руках или еще в чем-то.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Браузеры и Cookies (JavaScript, PHP)
« Ответ #1 : 31 Июля 2005, 01:03:10 »
Цитировать
misnik:
в браузере, который не хочет хранить два десятка "кук" для одного домена

Оффлайн misnik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://rzforum.ru
Браузеры и Cookies (JavaScript, PHP)
« Ответ #2 : 31 Июля 2005, 01:34:29 »
Спасибо за ответ.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Браузеры и Cookies (JavaScript, PHP)
« Ответ #3 : 31 Июля 2005, 01:36:05 »
спасибо за спасибо.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28