Установить cookie после вывода без ob_start - PullRequest
0 голосов
/ 03 февраля 2012

Наверное, нет, но есть ли способ установить cookie в PHP без необходимости ставить ob_start() в начале вывода?

Моя проблема в том, что я занимаюсь разработкой класса, который, помимо прочего, должен установить cookie. Теперь я не могу сказать человеку, который его использует, «вы должны создать новый экземпляр класса, прежде чем делать какие-либо выходные данные», потому что это будет неудачно Так я могу как-нибудь снять это?

Ответы [ 3 ]

2 голосов
/ 04 февраля 2012

См. Заголовки уже отправлены PHP

Применяются перечисленные здесь непрофессиональные обходные пути. В частности:

<META HTTP-EQUIV="Set-Cookie" 
CONTENT="cookievalue=xy;expires=Friday, 14-Dec-12 12:12:12 GMT; path=/">

Или используйте и установите document.cookie.

2 голосов
/ 03 февраля 2012

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

Возможно, вы могли бы вместо этого использовать переменные сеанса.

1 голос
/ 21 сентября 2012

Это моя рабочая среда, и она отлично работает для меня.

...