Учебники

CodeIgniter — Flashdata

При создании веб-приложения нам нужно хранить некоторые данные только один раз, а после этого мы хотим удалить эти данные. Например, для отображения некоторого сообщения об ошибке или информационного сообщения. В PHP мы должны делать это вручную, но CodeIgniter упростил эту задачу для нас. В CodeIgniter flashdata будет доступна только до следующего запроса и будет автоматически удалена.

Добавить Flashdata

Мы можем просто хранить флэш-данные, как показано ниже.

$this->session->mark_as_flash('item');
  • Для этого используется функция mark_as_flash () , которая принимает только один аргумент значения, подлежащего сохранению. Мы также можем передать массив для хранения нескольких значений.

  • Также можно использовать функцию set_flashdata () , которая принимает два аргумента, имя и значение, как показано ниже. Мы также можем передать массив.

Для этого используется функция mark_as_flash () , которая принимает только один аргумент значения, подлежащего сохранению. Мы также можем передать массив для хранения нескольких значений.

Также можно использовать функцию set_flashdata () , которая принимает два аргумента, имя и значение, как показано ниже. Мы также можем передать массив.

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

Получить Flashdata

Flashdata может быть получена с помощью функции flashdata (), которая принимает один аргумент элемента для извлечения, как показано ниже. Функция flashdata () обеспечивает получение только данных флэш-памяти, а не других данных.

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

Если вы не передаете аргумент, вы можете получить массив с той же функцией.

пример

Создайте класс с именем FlashData_Controller.php и сохраните его в application / controller / FlashData_Controller.php .

<?php 
   class FlashData_Controller extends CI_Controller {
	
      public function index() { 
         //Load session library 
         $this->load->library('session');
			
         //redirect to home page 
         $this->load->view('flashdata_home'); 
      } 
  
      public function add() { 
         //Load session library 
         $this->load->library('session'); 
         $this->load->helper('url'); 
   
         //add flash data 
         $this->session->set_flashdata('item','item-value'); 
   
         //redirect to home page 
         redirect('flashdata'); 
      } 
   } 
?>

Создайте файл представления с именем flashdata_home.php и сохраните его в application / views / flashdata_home.php

<!DOCTYPE html> 
<html lang = "en">
 
   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter Flashdata Example</title> 
   </head>
	
   <body> 
      Flash Data Example 
      <h2><?php echo $this->session->flashdata('item'); ?></h2> 
      <a href = 'flashdata/add'>Click Here</a> to add flash data. 
   </body>
	
</html>

Внесите изменения в файл rout.php в application / config / rout.php и добавьте следующую строку в конец файла.

$route['flashdata'] = 'FlashData_Controller'; 
$route['flashdata/add'] = 'FlashData_Controller/add';

Выполните приведенный выше пример, перейдя по следующей ссылке. Замените yoursite.com на URL вашего сайта.

http://yoursite.com/index.php/flashdata

После посещения вышеуказанного URL вы увидите экран, показанный ниже.

Flash-данные

Нажмите на ссылку « Нажмите здесь », и вы увидите экран, как показано ниже. Здесь, на этом экране вы увидите значение переменной данных флэш-памяти. Обновите страницу еще раз, и вы увидите экран, подобный приведенному выше, и переменная flash-данных будет автоматически удалена.