Ошибка сессий PHP - PullRequest
       3

Ошибка сессий PHP

1 голос
/ 17 февраля 2011

Я новичок в сессиях PHP и столкнулся со следующей ошибкой:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at somefile:someline).

Как и этот:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent by (output started at somefile:someline).

session_start(); - это самое первое во всем моем коде. Я не уверен, в чем проблема. Он дал мне номера строк, но все, что я делаю в этих строках, - это начало сеанса.

Также - у меня есть часть кода, действие POST которой является другой страницей PHP. Как я могу установить переменную $ _SESSION, относящуюся к этой странице на этой странице действий?

Ответы [ 3 ]

6 голосов
/ 17 февраля 2011

Ну, заголовки, уже отправленные, означают, что что-то было напечатано до того, как вы вызвали session_start (). Обычно виновники - это любые пробелы перед <? Php, которые вы пропустили, или если вы включили какие-либо файлы, убедитесь, что в этих включенных файлах нет пробелов после последней?>

По второму вопросу вы можете получить доступ к переменным $ _SESSION в другом php-файле (который находится на том же сервере), как обычно. Просто вызовите session_start () и используйте массив $ _SESSION.

2 голосов
/ 17 февраля 2011

session_start должен быть вызван перед любым выводом - убедитесь в этом, вставив перед doctype (первые строки будут php-кодом с этим) или вызвав ob_start перед любым выводом

1 голос
/ 17 февраля 2011

Поместите session_start () в самом начале вашего кода. Если вы используете session_start () во включаемом файле, обязательно включите его в первую строку вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...