php - CodeIgniter 3.0.3 ci_session not saving session data to ci_sesstion table -


i'm new codeigniter , i'm having issues login \ logout ci_session data saving @ all. have setup standard ci_session table using script in codeigniter docs , have setup config file allow session stored in relevant table, nothing is.

config.php settinh sessions:

$config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_encrypt_cookie'] = true; $config['sess_use_database'] = true; $config['sess_expire_on_close'] = true; $config['sess_table_name'] = 'ci_session'; $config['sess_expiration'] = 60 * 30; $config['sess_save_path'] = null; $config['sess_match_ip'] = false; $config['sess_match_useragent'] = true; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = true; 

here login form mvc files:

model login

<?php if ( ! defined('basepath')) exit('no direct script access allowed'); class login_model extends ci_model {      function __construct()      {           // call model constructor           parent::__construct();      }      //get username & password tbl_usrs      function get_user($username, $password)      {           $this->db->where('username', $username);           $this->db->where('password', sha1($password));           $query = $this->db->get('tbl_users');           return $query->num_rows();      }    } 

view login

<?php defined('basepath') or exit('no direct script access allowed'); ?> <div class="container">       <div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">           <div class="well col-xs-12 col-sm-12 col-md-12 col-lg-10">           <?php            $attributes = array("class" => "form-horizontal", "id" => "loginform", "name" => "loginform");           echo form_open("account/login/", $attributes);?>           <?php echo $this->session->flashdata('msg'); ?>           <fieldset>             <legend>login</legend>             <div class="form-group">                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">                     <label for="txt_username" class="control-label">username</label>                 </div>                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">                     <input class="form-control" id="txt_username" name="txt_username" placeholder="please enter username here." type="text" value="<?php echo set_value('txt_username'); ?>" />                     <span class="text-danger"><?php echo form_error('txt_username'); ?></span>                 </div>             </div>              <div class="form-group">                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">                     <label for="txt_password" class="control-label">password</label>                 </div>                 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">                     <input class="form-control" id="txt_password" name="txt_password" placeholder="please enter password here." type="password" value="<?php echo set_value('txt_password'); ?>" />                     <span class="text-danger"><?php echo form_error('txt_password'); ?></span>                 </div>             </div>               <div class="form-group">                   <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">                     <input id="btn_login" name="btn_login" type="submit" class="btn btn-primary btn-lg col-xs-12" style="margin-top: 5px; margin-bottom: 5px;" value="login" />                   </div>                   <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">                     <input id="btn_cancel" name="btn_cancel" type="reset" class="btn btn-primary btn-lg col-xs-12" style="margin-top: 5px; margin-bottom: 5px;" value="cancel" />                   </div>             </div>           </fieldset>           <?php echo form_close(); ?>           </div>      </div>        <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">       <p>test</p>       </div> </div> 

controller login

<?php if ( ! defined('basepath')) exit('no direct script access allowed');  class login extends ci_controller {      public function __construct()      {           parent::__construct();           $this->load->model('account/login_model');      }       public function index()      {             $data['title'] = "";           $data['description'] = "";           $data['keywords'] = "";           $data['type'] = "";           $data['url'] = "";            $this->load->view('includes/header', $data);            //get posted values           $username = $this->input->post("txt_username");           $password = $this->input->post("txt_password");            //set validations           $this->form_validation->set_rules("txt_username", "username", "trim|required|min_length[8]|max_length[30]|xss_clean");           $this->form_validation->set_rules("txt_password", "password", "trim|required|min_length[8]|max_length[32]|xss_clean");            if ($this->form_validation->run() == false)           {                //validation fails                $this->load->view('account/login');           }           else           {                //validation succeeds                if ($this->input->post('btn_login') == "login")                {                     //check if username , password correct                     $usr_result = $this->login_model->get_user($username, $password);                      if ($usr_result > 0) //active user record present                     {                          //set session variables                          $sessiondata = array(                               'username' => $username,                               'loginuser' => true                          );                          $this->session->set_userdata($sessiondata);                          redirect("members/members_area");                     }                     else                     {                          $this->session->set_flashdata('msg', '<div class="alert alert-danger text-center">invalid username or password! please try again.</div>');                          redirect('account/login');                     }                }                else                {                     redirect('account/login');                }           }            $this->load->view('includes/footer');      }  } 

the login seems work , redirects members area when check ci_session table it's empty.

once in members area want logout should destroy current session , redirect index.php home page doesn't do.

here members v\c

controller member area

<?php defined('basepath') or exit('no direct script access allowed');  class members_area extends ci_controller {      public function __construct()      {           parent::__construct();           $this->loginuser();      }      public function index()     {           $data['title'] = "";         $data['description'] = "";         $data['keywords'] = "";         $data['type'] = "";         $data['url'] = "";          $this->load->view('includes/member_header' , $data);         $this->load->view('members/members-area');         $this->load->view('includes/footer');      }      function loginuser()     {         $loginuser = $this->session->userdata('loginuser');          if (!isset($loginuser) || $loginuser != true )          {             echo 'sorry dont have premission access area. please signup , login gain access area.';             die();         }     } } 

view member area

<div class="container">     <div class="well col-xs-12 col-sm-12 col-md-12 col-lg-12">         <h3>members area</h3><br />     </div> </div> 

this logout v , c

controller logout

<?php defined('basepath') or exit('no direct script access allowed');  class logout extends ci_controller {      public function index()     {           $data['title'] = "";         $data['description'] = "!";         $data['keywords'] = "";         $data['type'] = "";         $data['url'] = "";          $this->load->view('includes/header' , $data);            // destroy session           $this->session->sess_destroy();           // redirect other page           redirect('account/logout');          $this->load->view('includes/footer');     } } 

view logout

<?php defined('basepath') or exit('no direct script access allowed'); ?> <div class="container">       <div class="col-xs-12 col-sm-9 col-md-9 col-lg-9">           <h2>you have logged out.</h2>           </div>      </div>        <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">       <p>test</p>       </div> </div> 

any advice or direction folks huge help.

thanks!

in config.php file need enable ci session:

$config['sess_use_database'] = true; 

from ci user guide:

once enabled, session class store session data in db.

make sure you've specified table name in config file well:

$config['sess_table_name'] = 'ci_sessions'; 

you can change name per table name.


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -