#php #session #codeigniter
#php #сеанс #codeigniter
Вопрос:
вот части, которые я считаю актуальными:
РЕДАКТИРОВАТЬ: когда я использую обычный $_SESSION
— все работает…
функция A сохраняет данные сеанса, затем вызывает представление, которое возвращает данные, добавленные к нему пользователем, в функцию B. обе функции A и B находятся на одном контроллере. я использую версию 2.0.2.. поэтому, когда он также попросил меня ввести ключ шифрования в конфигурационный файл.
проблема в том, что сеанс не сохраняет данные при перемещении между страницами.. я также заметил, что это изменяет переменную session_id…
вы знаете, что я делаю не так?
еще одна важная информация — я возвращаю значение, передающее URL-адрес функции B.
приветствие контроллера: Функция
...
$data = array(
'username' => $myusername,
'is_logged_in' => true,
'permissions' =>$permissions
);
$this->session->set_userdata($data);
...
...
$this->load->view('login_success',$dataV);
приветствие контроллера: functionB
$user=$this->session->userdata('username');
echo "<br> IN LINK REFERENCE: $user";
вы знаете, что я делаю не так?
Ответ №1:
Не уверен, но, похоже, вы не инициализировали свою Session
библиотеку. Не могли бы вы, пожалуйста, проверить, правильно ли вы инициализировали Session
библиотеку? Пожалуйста, проверьте $autoload['libraries'] = array();
в config/autoload
каталоге.
Комментарии:
1. я загрузил библиотеку в конструктор контроллеров: $this-> load-> library(‘session’);
2. вы загрузили его в оба контроллера?
3. и теперь я добавил ‘session’ в автозагрузку в конфигурации, но session_id все еще меняется..
4.
session_id
изменение не является проблемой. Не могли бы вы, пожалуйста, проверить, обращаетесь ли вы к обеим функциям в правильном порядке?5. Извините… вопрос неправильный. Не могли бы вы, пожалуйста, проверить, что вы установили
encryption_key
вconfig
? Вам просто нужно установить это, оно будет использоваться в качестве соли безопасности. Это вapplicaiton/config/config.php
, строке$config['encryption_key']
. Тогда это сработает в соответствии с вашими ожиданиями.