2012-01-11 2 views
110

Possible Duplicate:
PHP headers already sent
Headers already sent by PHP«Не удается отправить ограничитель сессии кэш - заголовки уже прислал»

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

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23 

, используя этот код:

<?php 
session_start(); 
if(isset($_SESSION['user'])) 
    { 
     $user = $_SESSION['user']; 
     echo "$user"; 
    } 
else 
    { 
    } 
?> 

ли он предположить, я уже использовал session_start();? Я смотрел вокруг, но ничего действительно не очистило это для меня.

Благодаря

+0

"(вывод начат в ............ в строке 23" Whats on line 23? –

+0

Строка 23 - это бит 'session_start();' код выше. – user1039878

+2

В моем случае Я должен был установить кодировку файла без спецификации. –

ответ

211

«Заголовки уже посланные» означает, что ваш PHP скрипт уже послал заголовки HTTP, и как таковой он не может вносить изменения в них сейчас.

Убедитесь, что вы не отправляете ЛЮБОЙ контент перед вызовом session_start. Еще лучше, просто сделайте session_start первое, что вы делаете в своем PHP-файле (так что поставьте его в абсолютном начале, перед всем HTML и т. Д.).

+13

Положите Над всем, и это сработало, спасибо! :) – user1039878

+73

Пожалуйста, позвольте мне поделиться другим прозрением. Если вы выполняете PHP-документы, убедитесь, что bryansis2010

+20

В моем случае - я создал новый документ, вставил содержимое и работал. Проблема заключалась в том, что в прилагаемом файле был включен знак utf (bom). –

Смежные вопросы

 Смежные вопросы