сеанс codeigniter не работает должным образом - PullRequest
0 голосов
/ 13 июня 2018

У меня возникла проблема с сеансом codeigniter.Я использую CodeIgniter-3.1.8.Я загрузил сессию в autoload.php в конфигурации как

$autoload['libraries'] = array('database', 'session');

Но он показывает ошибку, как Unable to locate the specified class: Session.php.

Затем я удалил ее из autoload.php и загрузил в контроллер.

public function __construct() {
    parent::__construct();
    $this->load->library('session');
}

И попробуйте установить flashdata в моем контроллере.Но теперь он показывает ошибку вроде Undefined property: controller::$session.Я уже установил encryption_key в config.php и драйвер хранилища сеансов для базы данных.Вот мой пример кода с контроллера:

class Home extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library('session');
    }

    public function register() {
        $data = $this->input->post();
        $result = false;     //$this->Home_model->register($data);
        if($result){
            $this->session->set_flashdata('success', 'Registration successful');
            $this->session->set_flashdata('form', 'login');
        }
        else {
            $this->session->set_flashdata('failure', 'An error occured, please try again');
            $this->session->set_flashdata('form', 'register');
        }

     }
}

Эта проблема возникает, когда я пытаюсь загрузить модель

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

В конфигурационный файл необходимо внести некоторые изменения.

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = sys_get_temp_dir();
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

Вероятно, эта проблема возникнет после миграции CI.Убедитесь, что название модели объявлено правильно, например

class Name extends CI_Model { }

Первая буква должна быть заглавной в CI 3. сохранить файл под тем же именем.

Другая причина - sess_save_path.укажите правильный путь, который должен устранить эту ошибку

0 голосов
/ 13 июня 2018

, если вы используете HHMVC, пожалуйста

class Home extends MX_Controller {}

вместо

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