2013-09-15 3 views
-2

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

<?php 
session_start(); 
session_unset(); 

session_destroy(); 
header("location:../"); 
?> 

это мой выход из системы код, и это ошибка:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home1/jota/public_html/adm/logout.php:1) in /home1/jota/public_html/adm/logout.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home1/jota/public_html/adm/logout.php:1) in /home1/jota/public_html/adm/logout.php on line 6

+1

Не может быть пробелов или любого выхода до '

ответ

0

Там, кажется, некоторые пробел перед открытием <?php тег. Удалите его, поэтому перед ним нет символов, и он должен работать нормально.

В качестве альтернативы вы можете включить кеширование вывода, вызвав ob_start() в начале вашего скрипта или изменив переменную output_buffering в файле php.ini равным 1. (Обратите внимание, что это позволит использовать для КАЖДОГО PHP-файла на вашем сервере - - вы можете вместо этого сделать это в файле .htaccess для каталога, в котором находится ваш код.)

+0

Нет, не делайте вывод буферизации. –

0

Как сказал @Wesley Murch в своем комментарии, у вас есть пробел в начале вашей страницы, как в php документация

To use cookie-based sessions, session_start() must be called before outputing anything to the browser.

Вы outputing белых пространств здесь.

+0

Нет, не делайте перенаправление в javascript. Кроме того, вы все равно получите ту же ошибку. Исправление прост: нет вывода перед заголовками. –

+0

'session_start()' и 'session_destroy()' также могут выводить заголовки, поэтому ваше предложение не решит основной причины этой проблемы. У пользователей также может быть отключен JavaScript. –

+0

@TristanSeifert Я согласен, провозгласил часть javascript, потому что сессия также выводит заголовок –

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