Сессии работают, хотя и не должны

  • Автор темы Автор темы tardis
  • Дата начала Дата начала

tardis

lazy
Сессии работают, хотя и не должны

Здравствуйте.
Столкнулся с такой странностью. По оплошности вставил session_start() не в начало скрипта, а уже после вывода html-кода. Но сессии работать не перестали. И ворнинг Cannot send session cookie - headers already sent не вылазит, вылазит только Cannot send session cache limiter. Но куки ведь тоже передаются через заголовки. Почему же сессии тем не менее работают?
 
ну вот возьми и посмотри - какие куда заголовки передаются
что за смысл гадать, если можно взять и посмотреть - что там куда работает?
 
В заголовках кука присутсвует, что впрочем ожидаемо, раз сессии работают.
Но вопрос-то как раз состоит в том, почему она там присутсвует, если заголовки отправляются до старта сессии? И почему тогда не отправляется cache limiter?
 
ну че ты у нас-то спрашиваешь?
мы, что ли, за твоим компом сидим?
свой код смотри - кто там куки отправляет.

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

бери, отлаживай свой код. я тебе сказал заголовки смотреть не для того, чтобы ты пришел и доложил, а чтобы сам разобрался. кроме тебя - некому.
 
Кстати, кука с идентификатором сессии один раз посылается? Т.е. если стартовать сессию сначала на одной странице, а потом перейти на другую, то там идентификатор сессии берется из сохраненной куки, а посылается только cashe limiter, верно?

-~{}~ 16.07.08 22:41:

В общем-то по заголовкам похоже, что верно. Т.е. session_start после отправленных заголовков худо-бедно работать будет, если перед этим сессию стартовали до заголовков на другой странице.

Фaнaт, спасибо. Если еще и подтвердишь мои умозаключения (так, на всякий случай :o ), будет совсем здорово.
 
началось...
"В заголовках кука присутствует".
Так присутствует или нет? Ты можешь СЕБЕ на этот вопрос ответить?
 
Нет, не присутствует. За отсылаемую куку было ошибочно принято значение куки из заголовков запроса.
 
Ну вот в этом-то вся и проблема.
Вместо того, чтобы сесть, и внимательно отладить программу, начинаем рассуждать о невозможном.
 
Все-таки объяснюсь, в чем было дело. У меня на определенных страницах сайта есть добавление позиций в блокнот. Там сессия стартует до посылки заголовков. На других страницах (они уже были до того, как я взялся за сайт, и, чтоб не добавлять session_start в каждый файл, я добавил ее в один из инклудов) сессия стартует после заголовков. Но сессионные переменные на этих страницах тем не менее оставались доступны. Это и вызвало у меня удивление, но теперь все понятно.
Еще раз спасибо.
 
Сверху