2014-12-14 2 views
0

Я установил, что мой сайт codeigniter является веб-приложением, использующим документацию Apple. https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.htmlСессии веб-приложений Codeigniter iOS не сохраняются

Это хорошо работает, но ни одна из моих сессий не сохраняется при переключении между приложениями.

$this->session->set_userdata('logged_in', true); 
    $this->session->set_userdata('id', $data['id']); 
    $this->session->set_userdata('role_id', $data['role_id']); 

Я нашел хорошую статью об этом, но не знаю, как это выглядело бы с помощью codeigniter. Maintaining a PHP session on an iPhone web app

ответ

0

Другой подход заключается в использовании базы данных sessions, пожалуйста, включите его в application/config/config.php по $config['sess_use_database'] = TRUE;

Я в основном использовать сеанс базы данных из следующего факта:

Примечание: Печенье может содержать только 4КБ данных , поэтому будьте осторожны, чтобы не превышать . В частности, процесс шифрования создает более длинную строку данных , чем оригинал, поэтому следите за тем, сколько данных вы храните.

Продолжить; создание таблицы ci_sessions

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL, 
    ip_address varchar(45) DEFAULT '0' NOT NULL, 
    user_agent varchar(120) NOT NULL, 
    last_activity int(10) unsigned DEFAULT 0 NOT NULL, 
    user_data text NOT NULL, 
    PRIMARY KEY (session_id), 
    KEY `last_activity_idx` (`last_activity`) 
); 

И вы хорошо идти, используйте код при условии, о котором идет речь, сессия сохраняется в базе данных.

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