сессии

Статус
В этой теме нельзя размещать новые ответы.

Miraage

Angular/Laravel
Регистрация
3 Июн 2008
Сообщения
231
Реакции
51
не могу сохранить сессию после того, как закрывается браузер
получаю данные после парса логина
PHP:
session_name( 'cp_session' );
session_start();
$_SESSION[ 'member' ] = $username; // например "Котопес"
if ( $save == true ) // поставили галочку "Запомнить?"
{
    $_SESSION[ 'save' ] = 1;
}
затем переписывал обработчики ( и вписывал в session_set_save_handler(), вот переписанный session_destroy()

PHP:
function sess_destroy()
{
    if ( $_SESSION[ 'save' ] ) return;
    @unset( ROOT . 'kernel/sessions/' . session_name() . '/' . session_id()); // если @ убрать ничего не пишет хД..
}

все равно удаляет :bc::bc::bc:
 
Может из-за этого не работает
из мануала к session_set_save_handler на phpclub
Примечание: вы обязаны установить в опции конфигурации session.save_handler значение user в вашем файле php.ini, для того чтобы session_set_save_handler() работала.
 
Ты уверен что вообще вызывается сама функция sess_destroy()?
Добавь в функцию контрольные сообщения и сохраняй их в базу - сразу станет видно вызывается ли sess_destroy().
 
PHP:
function sess_destroy()
{
    if ( $_SESSION[ 'save' ] ) return;
    @unset( ROOT . 'kernel/sessions/' . session_name() . '/' . session_id()); // если @ убрать ничего не пишет хД..
}
unset принимает аргументом и ликвидирует переменные, если что.
Чтобы сессия жила при закрытии браузера, нужно чтобы сессия жила достаточное кол-во времени (ini параметр session.gc_maxlifetime), должен быть включен режим кукисов (ini параметр session.use_cookies), и кукисы должны сохраняться после закрытия браузера:
session.cookie_lifetime specifies the lifetime of the cookie in seconds which is sent to the browser. The value 0 means "until the browser is closed." Defaults to 0.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху