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