Как использовать два сеанса для одного пользователя в codeigniter? - PullRequest
0 голосов
/ 03 июня 2010

Я использую класс тележки для покупательской тележки.

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

Как это можно решить?

Можно ли использовать два сеанса для одного пользователя?

Или, может быть, объединить все в одном сеансе?

Ответы [ 2 ]

1 голос
/ 03 июня 2010

Я не знаю, поможет ли это вам, так как я не использую Code Igniter и не знаю, как с этим справляются.

Но я обычно использую вложенные массивы для всего , которое я делаю на сессиях, поэтому никакие переменные не могут быть перезаписаны. Поэтому, если у меня есть скрипт входа в систему, он будет сохранять только в $ _SESSION ['login'] (например, $ _SESSION ['login'] ['password_hash'])

Если это невозможно с воспламенителем кода или эта библиотека всегда удаляет сеанс (какая библиотека будет делать что-то подобное ???), вам нужно сохранить данные в другом месте. Либо в скрытом поле формы в форме входа (не забудьте сначала сериализовать данные), либо в файле cookie.

0 голосов
/ 22 декабря 2010

Простой вход в систему следует за очень распространенной процедурой, воссоздающей новый сеанс после входа в систему, поэтому данные корзины должны быть сохранены непосредственно перед входом пользователя.

вы можете видеть это в функции логина функции Simplelogin:

     //Destroy old session
    $this->CI->session->sess_destroy();

    //Create a fresh, brand new session
    $this->CI->session->sess_create();

Итак, в вашем контроллере входа, где вы вызываете simplelogin-> login ($ user, $ password), вы должны сохранить данные перед входом в систему и восстановить корзину позже, примерно так:

$savedCart = $this->cart->contents();
if ( $this->simplelogin->login($user, $password) ){
   // at this point the session has been regenerated, so 
   $this->cart->insert($savedCart); 
}

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...