...
CodeIgniter, Tutorials

How to use Tempdata in Codeigniter?

19 February 2019

where you want to remove data stored in session after some specific time-period, this can be done using tempdata functionality in CodeIgniter.

Add Tempdata

To add data as tempdata, we have to use mark_as_tempdata() function. This function takes two argument items or items to be stored as tempdata and the expiration time for those items are as shown below.

// 'item' will be erased after 300 seconds(5 minutes) 
$this->session->mark_as_temp('item',300);

Retrieve Tempdata

We can retrieve the tempdata using tempdata() function. This function assures that you are getting only tempdata and not any other data. Look at the example given below to see how to retrieve tempdata. tempdata() function will take one argument of the item to be fetched.

$this->session->tempdata('item');

Remove Tempdata

using the unset_tempdata() function.
$this->session->unset_tempdata(‘item’);

For Example:
Tempdata_controller.php
<?php class Tempdata_controller extends CI_Controller { public function index() { $this->load->library('session'); 
         $this->load->view('tempdata_view'); 
      } 
  
      public function add() { 
         $this->load->library('session'); 
         $this->load->helper('url'); 
   
         //tempdata will be removed after 5 seconds 
         $this->session->set_tempdata('item','item-value',5); 
   
         redirect('tempdata'); 
      } 
   } 
?>
tempdata_view.php
<!DOCTYPE html> 
<html lang = "en">
 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter Tempdata Example</title> 
   </head>
	
   <body> 
      Temp Data Example 
      
<h2><?php echo $this->session->tempdata('item'); ?></h2>

      <a href = 'tempdata/add'>Click Here</a> to add temp data. 
   </body>
	
</html>
routes.php
$route['tempdata'] = "Tempdata_controller"; 
$route['tempdata/add'] = "Tempdata_controller/add";
Output here:

Leave a Comments