Сеансы CI уничтожаются после перенаправления - PullRequest
0 голосов
/ 27 июня 2018

Во-первых, я хочу сказать вам, что я много искал, но не смог найти решение. В любом случае, обо всем по порядку. Я новичок в CI, и я попытался создать страницу входа в CI, используя сеансы CI. Моя функция входа в систему выглядит так

//Validating login from ajax request
function validate_login() {
  $email = $this->input->post('email');
  $password = $this->input->post('password');
  $credential = array('email' => $email, 'password' => sha1($password));
  // Checking login credential for admin
  $query = $this->db->get_where('admin', $credential);
  if ($query->num_rows() > 0) {
      $row = $query->row();
      $_SESSION['admin_login'] =  '1';  // I am using traditional PHP Session Global Variable for Setting Session Variable
      $_SESSION['admin_id'] = $row->admin_id;
      $_SESSION['login_user_id'] = $row->admin_id;
      $_SESSION['name'] =  $row->name;
      $_SESSION['login_type'] = 'admin';
      //echo $this->session->userdata('admin_login');exit; //This is printing the data fine
      redirect(base_url() . 'index.php?admin/dashboard');
  }

Теперь он перенаправляется на панель инструментов администратора.

 /***ADMIN DASHBOARD***/
function dashboard()
{
    echo "<pre>";
    print_r($_SESSION); exit;
    if ($this->session->userdata('admin_login') != 1)
        redirect(base_url(), 'refresh');
    $page_data['page_name']  = 'dashboard';
    $page_data['page_title'] = get_phrase('admin_dashboard');
    $this->load->view('backend/index', $page_data);
}

Выход

Array
(
 [__ci_last_regenerate] => 1530080373
 )

My Autoload.php

$autoload['libraries'] = array('pagination', 'xmlrpc' , 'form_validation', 'email','upload','paypal','session','database');

Также я попытался загрузить библиотеку сессий в функции конструктора Admin

function __construct()
{
    parent::__construct();
    $this->load->database();
    $this->load->model('Barcode_model');
    $this->load->model('session');

   /*cache control*/
    $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
    $this->output->set_header('Pragma: no-cache');
}

Но, похоже, ничего не работает, так как я не могу войти и перенаправить на

if ($this->session->userdata('admin_login') != 1)
    redirect(base_url(), 'refresh');

config.php

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 7200;
$config['sess_regenerate_destroy'] = TRUE;

/*
|--------------------------------------------------------------------------
| Cookie Related Variables
|--------------------------------------------------------------------------
|
| 'cookie_prefix'   = Set a cookie name prefix if you need to avoid collisions
| 'cookie_domain'   = Set to .your-domain.com for site-wide cookies
| 'cookie_path'     = Typically will be a forward slash
| 'cookie_secure'   = Cookie will only be set if a secure HTTPS connection exists.
| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript)
|
| Note: These settings (with the exception of 'cookie_prefix' and
|       'cookie_httponly') will also affect sessions.
|
*/
$config['cookie_prefix']    = '';
$config['cookie_domain']    = 'localhost';
$config['cookie_path']      = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']  = FALSE;

/*

Что-то не хватает в моей части, чтобы быть установленным? Помощь оценена.

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