Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема работы с сессиями

21K
07 января 2008 года
Hellka
5 / / 27.10.2006
пишу простецкую админку для гостевой, проблема с закрытием сессий
закрываю просто:
 
Код:
@session_start();    
@session_destroy();

юзаю денвер на компе, в нем всё нормально - сессия закрывается, выкладываю в инет - закрываться не хочет
никто не знает в чем дело?
244
08 января 2008 года
UAS
2.0K / / 19.07.2006
1) http://ru2.php.net/session_destroy
2) убрать @ перед функцией и посмотреть, будут ли ошибки
2.1) в начале файла поставть error_reporting(E_ALL);
21K
08 января 2008 года
Hellka
5 / / 27.10.2006
убрал ошибок нет
244
08 января 2008 года
UAS
2.0K / / 19.07.2006
Ну вот на будущее надо убирать @ перед функциями и смотреть что сообщает. И вообще читайте ошибку. Все написано.
Перед тем как начать сессию, вы уже вывели данные в поток пользователю, что неверно
[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?
21K
08 января 2008 года
Hellka
5 / / 27.10.2006
я так и не понял, в чем моя проблема.
21K
08 января 2008 года
Hellka
5 / / 27.10.2006
вопрос решен, вставил на страницу закрытия сессий код:
Код:
<?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();
?>

всё сразу заработало
8
08 января 2008 года
mfender
3.5K / / 15.06.2005
Цитата: Hellka
я так и не понял, в чем моя проблема.


в том, что до установки куков происходит вывод в поток. Это может быть как результат работы скрипта, так и какое-нибудь предупреждение самого интерпретатора.

Самое лучшее - буферизация. Ставим в начале всех скриптов ob_start("ob_gzhandler"); и в результате до конца выполнения всех скриптов вывод буферизируется (к тому же вывод компрессируется, и довольно значительно gzip'ом).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог