Tempdata in CodeIgniter
×

Tempdata in CodeIgniter

0 729

  • Sometimes we want to use the value of a variable for a specific time period and after the use, we want to delete it.
  • Codeigniter provides tempdata concepts for it.
  • tempdata is session data that will be available for a specific time span means it has a specific expiration time and after the value expires, or the session expires or is deleted, it will be cleared automatically.

Related Topics:

Codeigniter Interview Questions
Flashdata in Codeigniter
Session management in Codeigniter

Add Tempdata:

We have two methods to add tempdata.

By using mark_as_temp() method: This function is used to mark an existing variable or array as tempdata.

Syntax:

$this->session->mark_as_flash('item',200);

Here,

  • the item represents the name of the variable which we want to make tempdata.
  • the second parameter is used to set the expiration time.

In the case of the array the syntax will be:

$this->session->mark_as_flash(array('item1', 'item2'),200);

Where item1 and item2 are the keys of an existing array.

We can also set a different expiration time for each item of the array.

// 'item1' will be erased after 200 seconds, while 'item2'
// will do so after only 300 seconds

$this->session->mark_as_temp(array(
'item1'=>200,
'item2'=>300
));

2 By using set_tempdata() method:

Syntax:

$this->session->set_tempdata('item', 'value',200);

Where,

  • Item is the name of session variable and
  • value is the value of the variable item.
  • The third parameter is used to set the expiration time

Retrieving Tempdata:

We can retrieve the tempdata with the help of the tempdata() method.

Syntax:

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

Where,

  • the item represents the name of the variable which we want to fetch by the tempdata() method.
Note:

Although tempdata is session data, we cannot retrieve them by using the userdata() method.


Removing Tempdata:

Tempdata is deleted automatically at its expiration time. To remove it before its expiration time, we will use unset_tempdata() method.

Syntax:

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

Where,

  • the item represents the name of the variable which we want to unset.

Example:

Step 1 Open directory application/views and create a view file tempdata_view.php.

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
<h2>Tempdata example</h2>

<h4><?php echo $this->session->tempdata('website'); ?></h4>
<a href = 'Tempdata_controller/add'>Click Here</a> to add Temp data.

</div>

</body>
</html>

Step 2 Open directory application/controllers and create a controller file Tempdata_controller.php.

<?php
class Tempdata_controller extends CI_Controller {

public function index() {
//Load session library
$this->load->library('session');

//redirect to home page
$this->load->view('tempdata_view');
}

public function add() {
//Load session library
$this->load->library('session');
$this->load->helper('url');

//add flash data 
$this->session->set_tempdata('website','www.codingtag.com',300);

//redirect to home page
redirect('http://localhost/ci/index.php/Tempdata_controller');
}
}
?>

Step 3 Open the given URL into the browser to see the result.

http://localhost/ci/index.php/Tempdata_controller

Click on the "click here" link to add tempdata.



Best WordPress Hosting


Share:


Leave a Reply


Comments
    Waiting for your comments