- CodeIgniter 教程
- CodeIgniter - 首页
- CodeIgniter - 概述
- CodeIgniter - 安装 CodeIgniter
- CodeIgniter - 应用架构
- CodeIgniter - MVC 框架
- CodeIgniter - 基本概念
- CodeIgniter - 配置
- CodeIgniter - 数据库操作
- CodeIgniter - 库
- CodeIgniter - 错误处理
- CodeIgniter - 文件上传
- CodeIgniter - 发送邮件
- CodeIgniter - 表单验证
- CodeIgniter - 会话管理
- CodeIgniter - 闪存数据
- CodeIgniter - 临时数据
- CodeIgniter - Cookie 管理
- CodeIgniter - 常用函数
- CodeIgniter - 页面缓存
- CodeIgniter - 页面重定向
- CodeIgniter - 应用性能分析
- CodeIgniter - 基准测试
- CodeIgniter - 添加 JS 和 CSS
- CodeIgniter - 国际化
- CodeIgniter - 安全性
- CodeIgniter 有用资源
- CodeIgniter - 快速指南
- CodeIgniter - 有用资源
- CodeIgniter - 讨论
CodeIgniter - 闪存数据
在构建web应用程序时,我们需要存储一些仅使用一次的数据,之后需要删除这些数据。例如,显示一些错误消息或信息消息。在PHP中,我们必须手动执行此操作,但CodeIgniter使这项工作变得简单。在CodeIgniter中,闪存数据只在下一个请求之前可用,之后会自动删除。
添加闪存数据
我们可以简单地如下所示存储闪存数据。
$this->session->mark_as_flash('item');
mark_as_flash() 函数用于此目的,它只接受一个要存储的值作为参数。我们也可以传递一个数组来存储多个值。
set_flashdata() 函数也可以使用,它接受两个参数,名称和值,如下所示。我们也可以传递一个数组。
$this->session->set_flashdata('item','value');
检索闪存数据
闪存数据可以使用 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>
修改application/config/routes.php目录下的routes.php文件,并在文件末尾添加以下行。
$route['flashdata'] = 'FlashData_Controller'; $route['flashdata/add'] = 'FlashData_Controller/add';
访问以下链接执行上述示例。将yoursite.com替换为您的网站URL。
http://yoursite.com/index.php/flashdata
访问上述URL后,您将看到如下所示的屏幕。
点击“点击此处”链接,您将看到如下所示的屏幕。在此屏幕上,您将看到闪存数据变量的值。再次刷新页面,您将看到上面的屏幕,闪存数据变量将自动删除。
广告