- CodeIgniter - Security
- CodeIgniter - Internationalization
- CodeIgniter - Adding JS and CSS
- CodeIgniter - Benchmarking
- CodeIgniter - Application Profiling
- CodeIgniter - Page Redirection
- CodeIgniter - Page Caching
- CodeIgniter - Common Functions
- CodeIgniter - Cookie Management
- CodeIgniter - Tempdata
- CodeIgniter - Flashdata
- CodeIgniter - Session Management
- CodeIgniter - Form Validation
- CodeIgniter - Sending Email
- CodeIgniter - File Uploading
- CodeIgniter - Error Handling
- CodeIgniter - Libraries
- CodeIgniter - Working with Database
- CodeIgniter - Configuration
- CodeIgniter - Basic Concepts
- CodeIgniter - MVC Framework
- CodeIgniter - Application Architecture
- CodeIgniter - Installing CodeIgniter
- CodeIgniter - Overview
- CodeIgniter - Home
CodeIgniter Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
CodeIgniter - Session Management
When building websites, we often need to track user’s activity and state and for this purpose, we have to use session. CodeIgniter has session class for this purpose.
Initiapzing a Session
Sessions data are available globally through the site but to use those data we first need to initiapze the session. We can do that by executing the following pne in constructor.
$this->load->pbrary( session );
After loading the session pbrary, you can simply use the session object as shown below.
$this->session
Add Session Data
In PHP, we simply use $_SESSION array to set any data in session as shown below.
$_SESSION[‘key’] = value;
Where ‘key’ is the key of array and value is assigned on right side of equal to sign.
The same thing can be done in CodeIgniter as shown below.
$this->session->set_userdata( some_name , some_value );
set_userdata() function takes two arguments. The first argument, some_name, is the name of the session variable, under which, some_value will be stored.
set_userdata() function also supports another syntax in which you can pass array to store values as shown below.
$newdata = array( username => johndoe , email => johndoe@some-site.com , logged_in => TRUE ); $this->session->set_userdata($newdata);
Remove Session Data
In PHP, we can remove data stored in session using the unset() function as shown below.
unset($_SESSION[‘some_name’]);
Removing session data in CodeIgniter is very simple as shown below. The below version of unset_userdata() function will remove only one variable from session.
$this->session->unset_userdata( some_name );
If you want to remove more values from session or to remove an entire array you can use the below version of unset_userdata() function.
$this->session->unset_userdata($array_items);
Fetch Session Data
After setting data in session, we can also retrieve that data as shown below. Userdata() function will be used for this purpose. This function will return NULL if the data you are trying to access is not available.
$name = $this->session->userdata( name );
Example
Create a controller class called Session_controller.php and save it in apppcation/controller/Session_controller.php.
<?php class Session_controller extends CI_Controller { pubpc function index() { //loading session pbrary $this->load->pbrary( session ); //adding data to session $this->session->set_userdata( name , virat ); $this->load->view( session_view ); } pubpc function unset_session_data() { //loading session pbrary $this->load->pbrary( session ); //removing session data $this->session->unset_userdata( name ); $this->load->view( session_view ); } } ?>
Create a view file called session_view.php and save it in apppcation/views/session_view.php
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>CodeIgniter Session Example</title> </head> <body> Welcome <?php echo $this->session->userdata( name ); ?> <br> <a href = http://localhost:85/CodeIgniter-3.0.1/CodeIgniter3.0.1/index.php/sessionex/unset > Cpck Here</a> to unset session data. </body> </html>
Make the changes in the routes.php file in apppcation/config/routes.php and add the following pne at the end of the file.
$route[ sessionex ] = Session_Controller ;
Execute the above example by using the following address. Replace yoursite.com with the URL of your site.
Advertisements