2016-06-11 2 views
1

В прошлом при кодировании с чистым php (без каких-либо фреймворков) я устанавливал сеанс с $_SESSION, а когда я закрыл сеанс браузера, и когда я установил файл cookie, он будет доступен до истечения этого срока!set_userdata lifetime in Codeigniter

Но в рамках Codeigniter, когда я установил сеанс с $this->session->set_userdata($someData) и закройте браузер и откройте его снова, сеанс недоступен.

Я хочу создать регистрационную форму с помощью функции Remember Me, когда пользователь установил флажок в поле ввода Remember Me и установил некоторый файл cookie, а когда он не установлен, войдите в систему с помощью простого сеанса (простой сеанс означает, что пользователь закрывает свой браузер сеансом уничтожается, а при открытии браузера он/она не регистрируется в системе).

Но в рамках codeigniter, когда я пытаюсь создать форму входа с set_userdata($someData), сеанс жив после закрытия браузера, и это моя проблема.

Являются ли сеансы и файлы cookie одинаковыми в коденигрегионе? Как создать систему входа в систему с помощью функции Remember Me в codeigniter?

+0

Проведите прогулку через конфигурационный файл codeigniter - application/config/config.php, начиная с строки 327. – cartalot

ответ

0

Codeigniter не использует родные PHP сессии вы можете прочитать здесь:

Session Class

По умолчанию sess_expire_on_close устанавливается в ложь, так что вы должны инициализировать его истинным, так что истекает после закрытия ,

Что касается запомнить меня политиком здесь также хорошо читать я принял:

What is the best way to implement “remember me” for a website?

Надеется, что это помогает

1

Вы можете проверить и изменить время истечения сеанса в:/приложении/конфигурациях /config.php. Существует строка 372, значение по умолчанию - 7200 (сек).

$config['sess_expiration'] = 7200;