Проблема работы с сессиями
закрываю просто:
Код:
@session_start();
@session_destroy();
@session_destroy();
юзаю денвер на компе, в нем всё нормально - сессия закрывается, выкладываю в инет - закрываться не хочет
никто не знает в чем дело?
http://ru2.php.net/session_destroy
2) убрать @ перед функцией и посмотреть, будут ли ошибки
2.1) в начале файла поставть error_reporting(E_ALL);
1)
2) убрать @ перед функцией и посмотреть, будут ли ошибки
2.1) в начале файла поставть error_reporting(E_ALL);
убрал ошибок нет
Перед тем как начать сессию, вы уже вывели данные в поток пользователю, что неверно
[QUOTE=php.net]Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.[/QUOTE]
Добавлено днем
а зачем отредактировали ваш пост, где было указано, что ошибка была headers already been sent?
я так и не понял, в чем моя проблема.
Код:
<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// Finally, destroy the session.
session_destroy();
?>
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// Finally, destroy the session.
session_destroy();
?>
всё сразу заработало
Цитата: Hellka
я так и не понял, в чем моя проблема.
в том, что до установки куков происходит вывод в поток. Это может быть как результат работы скрипта, так и какое-нибудь предупреждение самого интерпретатора.
Самое лучшее - буферизация. Ставим в начале всех скриптов ob_start("ob_gzhandler"); и в результате до конца выполнения всех скриптов вывод буферизируется (к тому же вывод компрессируется, и довольно значительно gzip'ом).