1

I want to send my session data from one controller to another.

<?php
    abc.php // controller name
    class abc extends MY_Controller 
    {
        public function set_new_data()
        {
            $_SESSION['sample'] = 'testing';
        }
    }

?>

<?php
    xyz.php // another controller name
    class xyzextends MY_Controller 
    {
        public function get_data()
        {
            echo $_SESSION['sample'];
        }
    }

?>

I am using HMVC pattern in codeigniter. I want to call abc/set_new_data to set session then redirect to xyz/get_data to get data but I am unable to pass data.

Vishal Chhodwani
  • 2,567
  • 5
  • 27
  • 40
  • Possible duplicate of [How to load a controller from another controller in codeigniter?](https://stackoverflow.com/questions/14165895/how-to-load-a-controller-from-another-controller-in-codeigniter) – Goose Mar 07 '18 at 13:38

1 Answers1

2

Here, You can try the below code.

Set data method:

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

    public function set_new_data()
    {
        $sess_array = array(
            'sample' => 'testing'
        );
        $this->session->set_userdata($sess_array);
    }   
}

Get data Method:

class Xyz extends CI_Controller {

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

    public function get_data()
    {
        echo $this->session->userdata('sample');
    }

}