在构建Web应用程序时,我们只需要存储一些数据,之后我们要删除这些数据.例如,显示一些错误消息或信息消息.在PHP中,我们必须手动完成,但CodeIgniter使我们的工作变得简单.在CodeIgniter中,flashdata仅在下一个请求之前可用,并且会自动删除.
添加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 Examplesession->flashdata('item'); ?>
Click Here to add flash data.
在 application/config/routes.php 中的 routes.php 文件中进行更改在文件的末尾添加以下行.
$route['flashdata'] = 'FlashData_Controller'; $route['flashdata/add'] = 'FlashData_Controller/add';
访问以下链接执行上述示例.将yoursite.com替换为您网站的网址.
http://yoursite.com/index.php/flashdata
访问上述网址后,您会看到如下所示的屏幕.
点击"点击此处"链接,您将看到如下所示的屏幕.在这个屏幕中,您将看到flash数据变量的值.再次刷新页面,您将看到如上所示的屏幕,闪存数据变量将自动删除.