📜  CodeIgniter-Flashdata

📅  最后修改于: 2020-10-26 05:33:06             🧑  作者: Mango


在构建Web应用程序时,我们只需要存储一些数据,然后再删除该数据。例如,显示一些错误消息或信息消息。在PHP中,我们必须手动执行此操作,但是CodeIgniter使我们的工作变得简单。在CodeIgniter中,闪存数据将仅在下一个请求之前可用,并且将被自动删除。

添加Flashdata

我们可以简单地存储flashdata,如下所示。

$this->session->mark_as_flash('item');
  • 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中

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中

 
      CodeIgniter Flashdata Example 
   
    
    
      Flash Data Example 
      

session->flashdata('item'); ?>

Click Here to add flash data.

application / config / routes.php中的route.php文件中进行更改,并在文件末尾添加以下行。

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

通过访问以下链接执行以上示例。用您网站的URL替换yoursite.com。

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

访问上述URL后,您将看到如下所示的屏幕。

闪存数据

单击“单击此处”链接,您将看到如下所示的屏幕。在此屏幕上,您将看到闪存数据变量的值。再次刷新页面,您将看到如上所示的屏幕,闪存数据变量将被自动删除。

添加闪存数据