A session is used to store information (in variables) and used throughout the application.
Session Initialization
To store data in session first of all we need to initialize the session.
In PHP we initialize the session by simply writing the session_start(); function.
But in CodeIgniter, We can do that by executing the following line in the constructor.
$this->load->library(‘session');
Add data to the session
set_userdata() method is used to add value to the session. It takes two arguments as a parameter first is session name and the second is session value.
$this->session->set_userdata(‘session name', ‘any_value’);
We can also use the set_userdata() function to pass an array to store values as shown below.
$data = array( 'username' => 'junaidsshaikh', 'email' => ‘junaid@coexistech.com', 'logged_in' => TRUE ); $this->session->set_userdata($data);
Remove data from Session
We can use unset_userdata() function that will remove data from the session.
$this->session->unset_userdata('key_name');
If you want to remove more than one value and an array of data then you can use the same function unset_userdata().
$this->session->unset_userdata($array_items);
Fetch data from Session
A userdata() function is used to get data from the session. It takes the session key name as an argument. For example:
$name = $this->session->userdata('name');
Flashdata
While building a web application, we need to store some data for only one time, and later, we want to remove that data. For example, to display some error message or information message. In CodeIgniter, flashdata will only be available until the next request, and it will get deleted automatically.
Add Flashdata
$this->session->set_flashdata('item','value');
Retrieve a Flashdata
$this->session->flashdata('item');