Session set and unset is the most valuable features of CodeIgniter in its session management method, which allows developers to store and retrieve user data across multiple page requests.
In this tutorial, you will explore how to set and unset sessions in CodeIgniter 4, 3, starting with an overview of what sessions are and why they are important.
A session is a way for a web application to store user data across multiple page requests. When a user visits a website, a unique session ID is generated, which is then used to track the user’s activity on the site. The session ID is typically stored in a cookie on the user’s device.
Sessions are useful for a variety of purposes, such as:
- Keeping users logged in
- Storing user preferences
- Tracking user activity
- Storing shopping cart information
- Personalizing content for users
How To Set & Unset Session In CodeIgniter
Now, let’s dive into how to set and unset sessions in CodeIgniter 4, 3.
- Setting a session in CodeIgniter
- Set session in variable
- Set session in array
- Unsetting a session in CodeIgniter
- unset session in variable
- unset session in array
Setting a session in CodeIgniter
To set a session in CodeIgniter, you first need to load the session library. This can be done by adding the following code to our controller:
$this->load->library('session');
Once you have loaded the session library, you can set a session variable by calling the set_userdata() method. This method takes an associative array as its argument, where the keys represent the session variable names and the values represent their corresponding values.
Set session in variable
Here’s an example:
$this->session->set_userdata('username', 'john.doe');
In this example, you are setting a session variable named “username” with the value “john.doe”. This value will be stored in the session and can be accessed on subsequent page requests.
Set session in array
Setting a session in an array in CodeIgniter is similar to setting a regular session variable, with the difference being that you need to pass an associative array to the set_userdata() method. Here’s an example of how to set a session in an array in CodeIgniter:
$data = array( 'username' => 'john.doe', 'email' => '[email protected]', 'is_logged_in' => TRUE ); $this->session->set_userdata($data);
In this example, you have defined an associative array named $data
, which contains three key-value pairs representing the user’s username, email, and login status. Then pass this array as an argument to the set_userdata() method, which sets each key-value pair as a separate session variable.
Unsetting a session in CodeIgniter
To unset a session variable in CodeIgniter, you can call the unset_userdata() method, passing in the name of the variable you want to unset as its argument. Here’s an example:
$this->session->unset_userdata('username');
unset session in variable
In this example, you are unsetting the “username” session variable.
It’s worth noting that calling unset_userdata() without passing in any arguments will unset all session variables.
unset session in array
To unset a session variable that is stored in an array, you can use the unset() function to remove the key-value pair from the session array.
Here’s an example of how to unset a session variable that is stored in an array in CodeIgniter:
// Load the session library $this->load->library('session'); // Initialize the session data as an array $session_data = array( 'username' => 'john.doe', 'email' => '[email protected]', 'role' => 'admin' ); // Set the session data $this->session->set_userdata($session_data); // Unset the 'email' session variable unset($_SESSION['email']); // Alternatively, you can also use the unset_userdata() method provided by the session library $this->session->unset_userdata('email');
In this example, you first load the session library and initialize the session data as an array. you then set the session data using the set_userdata() method. To unset the ’email’ session variable, you use the unset() function to remove the ’email’ key-value pair from the session array. Alternatively, you can also use the unset_userdata() method provided by the session library to unset the session variable.
It’s important to note that when unsetting a session variable that is stored in an array, only the key-value pair for that particular session variable is removed from the session array. The other session variables in the array remain unaffected.
Conclusion
Sessions are an important part of web development, allowing developers to store and retrieve user data across multiple page requests. CodeIgniter makes it easy to work with sessions, providing a simple and intuitive session management system.
In this article, you have learned how to set and unset sessions in CodeIgniter, using the set_userdata() and unset_userdata() methods, respectively. With this knowledge, you should be well equipped to start working with sessions in your CodeIgniter projects.