Для собственного интереса пытаюсь разобраться, как ExBB запоминает статус тем и форумов: прочитаны/непрочитаны. Нашёл, что для тем статус хранится в cookie t_visits в виде сериализованного массива. Но возникли следующие вопросы:
1. Почему у t_visits такой маленький срок действия - всего сутки?
2. Идентификатор темы получается простой "склейкой" номеров форума и темы:
$top_id = $inforum.$intopic
Непонятно, как в таком случае отличить, скажем, тему №3 в 11-м форуме от 13-й темы в первой форуме, если оба варианта дают для идентификатора число 113...
1. CaptainFlint - 31 Августа, 2005 - 18:47:50 - перейти к сообщению
2. TvoyWeb - 01 Сентября, 2005 - 04:14:31 - перейти к сообщению
CaptainFlint
1. Честно говоря даже не обращал внимания на срок этой куки.
И пока не посмотрю какой у нее срок ничего не смогу сказать.
2. Да есть такая трабла. С ней еще до конца не разбирался.
Я сейчас сижу разбираюсь с админкой форума. Когда перейду к фронтенду и разберусь, то оязательно отпишусь.
1. Честно говоря даже не обращал внимания на срок этой куки.
И пока не посмотрю какой у нее срок ничего не смогу сказать.
2. Да есть такая трабла. С ней еще до конца не разбирался.
Я сейчас сижу разбираюсь с админкой форума. Когда перейду к фронтенду и разберусь, то оязательно отпишусь.
3. CaptainFlint - 01 Сентября, 2005 - 04:44:25 - перейти к сообщению
TvoyWeb пишет:
1. Честно говоря даже не обращал внимания на срок этой куки.
И пока не посмотрю какой у нее срок ничего не смогу сказать.
И пока не посмотрю какой у нее срок ничего не смогу сказать.
Там просто прямо в коде видно (topic.php):
PHP:
my_setcookie('t_visits',serialize($t_visits),86400);
Как это проявляется (и проявляется ли) в браузере, я пока не смотрел и не разбирался...
TvoyWeb пишет:
2. Да есть такая трабла. С ней еще до конца не разбирался.
Первое, что придумалось - это сделать индекс не числовым, а строковым, типа "11.3" - 11-й форум, 3-я тема (ну или "11:3" - где-то так уже сделано в форуме...). Насколько удачно/неудачно такое решение и чем именно? Понятно, что менее эффективно, чем числа, но кроме этого есть ли недостатки?
4. TvoyWeb - 01 Сентября, 2005 - 04:53:05 - перейти к сообщению
CaptainFlint пишет:
Насколько удачно/неудачно такое решение и чем именно? Понятно, что менее эффективно, чем числа, но кроме этого есть ли недостатки?
Собственно я не вижу никаких особых недостатков. Но надо смотреть скрипты где эта кука вызывается и применяется.
5. Леголегс - 01 Сентября, 2005 - 15:59:58 - перейти к сообщению
TvoyWeb
Я в JS Forum тоже ломаю голову над этим вопросом. Чтоб и куки на килобайты не получились и не терялось ничего. Думаю сделать так:
форум:тема*тема*тема*тема/форум:тема*тема*тема*тема
ИМХО, самое экономное, что можно придумать. А у меня ещё и нет функции serialize JS до PHP далеко...
Я в JS Forum тоже ломаю голову над этим вопросом. Чтоб и куки на килобайты не получились и не терялось ничего. Думаю сделать так:
форум:тема*тема*тема*тема/форум:тема*тема*тема*тема
ИМХО, самое экономное, что можно придумать. А у меня ещё и нет функции serialize JS до PHP далеко...
6. TvoyWeb - 01 Сентября, 2005 - 17:49:40 - перейти к сообщению
Леголегс
Вообще, честно говоря, по прошествии определенного времени я понимаю что с куками Варлок конечно намудрил. Но с другой стороны понимаю, что он не смог отследить всех ошибок из за подавления ошибок в скрипте. Только не понимаю зачем он давил ошибки.
Кстати вот еще один хороший тон в написании скриптов: выводить на экран все ерроры, варнинги и нотиесы. Говорю по собственному опыту.
Вообще, честно говоря, по прошествии определенного времени я понимаю что с куками Варлок конечно намудрил. Но с другой стороны понимаю, что он не смог отследить всех ошибок из за подавления ошибок в скрипте. Только не понимаю зачем он давил ошибки.
Кстати вот еще один хороший тон в написании скриптов: выводить на экран все ерроры, варнинги и нотиесы. Говорю по собственному опыту.
7. ETC - 01 Сентября, 2005 - 17:52:50 - перейти к сообщению
А что мешает держать данные в сессии? Не на компе пользователя, а в $_SESSION...
Или это невыгодно?
Или это невыгодно?