在构建Web应用程序时,无涯教程只需要存储一些数据,然后再删除该数据。如显示一些错误消息或信息消息。在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 完整示例
创建一个名为 FlashData_Controller.php 的类,并将其保存在 application/controller/FlashData_Controller.php 中。
<?php
class FlashData_Controller extends CI_Controller {
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> index</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="com">//加载 session 库 </span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">library</span><span class="pun">(</span><span class="str">session</span><span class="pun">);</span><span class="pln">
</span><span class="com">//重定向到主页</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">view</span><span class="pun">(</span><span class="str">flashdata_home</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="kwd">add</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="com">//加载 session 库 </span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">library</span><span class="pun">(</span><span class="str">session</span><span class="pun">);</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">helper</span><span class="pun">(</span><span class="str">url</span><span class="pun">);</span><span class="pln">
</span><span class="com">//添加闪存数据</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">session</span><span class="pun">-></span><span class="pln">set_flashdata</span><span class="pun">(</span><span class="str">item</span><span class="pun">,</span><span class="str">item-value</span><span class="pun">);</span><span class="pln">
</span><span class="com">//重定向到主页</span><span class="pln">
redirect</span><span class="pun">(</span><span class="str">flashdata</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
?>
创建一个名为 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;
通过访问以下链接执行以上示例。用您网站的URL替换yoursite.com。
http://yoursite.com/index.php/flashdata
访问上述URL后,您将看到如下所示的屏幕。

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