ci框架中session闪出数据flash

CodeIgniter 支持 "闪出数据", 或者说Session数据只对下次服务器请求可用, 然后会自动清除。这应该会非常有用,往往应用在信息或状态提示中(例如:“记录2已删除”)。

比如,文章列表页删除某条记录后,提示“记录2已删除”。或者编辑文章时保存后提示“文章修改成功”或“修改失败,参数错误”等。

代码中主要技巧:在session的键值对中,给键名加了“new”或"old‘做判断

set_flashdata(设置闪出数据时,加上new,表示新的闪出数据)

$flashdata_key = $this->flashdata_key.':new:'.$key;
$this->set_userdata($flashdata_key, $val);

flashdata(获取的时候,却是old数据)

$flashdata_key = $this->flashdata_key.':old:'.$key;
return $this->userdata($flashdata_key);

在获取之前做了这2步操作(构造函数中):

1、_flashdata_sweep() 作用:删除所有old数据

2、_flashdata_mark()作用:将new数据换成old数据

所以第1次flashdata时可以取到old数据。

如果第2次再获取时,由于_flashdata_sweep() 作用删除了old,所以不能再获取到数据了。

时间: 2024-11-10 23:50:12

ci框架中session闪出数据flash的相关文章

对CI框架中几个文件libraries

对CI框架中几个文件libraries,helpers,hooks夹说明 来源:未知    时间:2014-10-20 11:37   阅读数:117   作者:xbdadmin [导读] 1.library文件夹 如果你想扩展CI的功能,那么就把你的类库放在这,注意,这个文件夹是有class组成的,可以看看如果 加载library注意事项 ! 2.helper文件夹 如果你需要使用一些函数来帮你... 1.library文件夹 如果你想扩展CI的功能,那么就把你的类库放在这,注意,这个文件夹是

CI框架中的SQL注入隐患

 0x00 在CI框架中,获取get和post参数是使用了$this->input类中的get和post方法. 其中,如果get和post方法的第二个参数为true,则对输入的参数进行XSS过滤,注意只是XSS过滤,并不会对SQL注入进行有效的防范. 例子: Controller中,定义一个shit方法,获取get数据: 指定了第二个参数为true: (1)XSS测试 (2)SQL注入测试 并不会对单引号进行处理. 例子在程式舞曲CMS中,该CMS是基于CI框架进行开发的CMS: 这里的变量

CI框架中 类名不能以方法名相同

昨天晚上一个坑爹的问题折腾了我一晚上,首先我来说下我的代码,我建立了一个index的控制器然后呢  在控制器里有一个index的方法.页面模板都有. if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Index extends CI_Controller{ public function index(){ $this->load->view('index.html'); } } 然后你在浏览器中

将smarty模版引擎整合到CI框架中

将smarty模版引擎整合到CI框架中. 下载:ci,smarty 配署ci 在这里就不多说了…… 1.  将下载好的smarty包的lib文件上传到ci中的application/libraries 文件中,将取名称修改为smarty,在libraries文件新建cismarty.php文件,内容如下: if (!defined('BASEPATH')) exit("no direct script access allowd"); //以下是加载smarty的类文件 require

php CI框架中base_url 和site_url的区别

在CI框架中base_url得到的路径是不包括入口的文件index.php文件 site_url包含了入口文件.当调用MVC模式的时候使用site_url  加载页面 <link href="<?php echo base_url('assets/styles/main.css');?>" rel="stylesheet" type="text/css" /> <form method="post"

CI框架中集成CKEditor编辑器的教程

CKEditor是在很多开发过程中都会用到的一个富文本编辑器,那么如何在CI框架中使用它呢?这里介绍了在CI下使用CKEditor的方法,版本比较低,是在CI 1.7.3下使用fckeditor 2.6.6.供大家参考. 1.将fckeditor目录置入CI_PATH/system/plugins/ 2.在CI_PATH/system/application/config/config.php中加入: $config['fckeditor_basepath'] = "/system/plugin

CodeIgniter(CI)框架中的验证码

在CodeIgniter框架中,CI本身自带了验证码,但是查看文档的时候,发现: 需要新建一个表,用来存储验证码信息.因为习惯了session存储验证码信息,所以我把我认为比较好看的验证码应用在了CI的框架中. 在 CodeIgniter/application/libraries/ 目录下,新建一个文件 取名 captcha.php. 1 <?php 2 defined('BASEPATH') OR exit('No direct script access allowed'); 3 4 cl

【转】最简单的CI框架入门示例--数据库取数据

1.下载CI框架(自己找) 2.配置 database.php配置:    为数据库服务器设置 connection 参数: 源码打印? $db['default']['hostname'] = "your-db-host"; $db['default']['username'] = "your-username"; $db['default']['password'] = "your-password"; $db['default']['dat

最简单的CI框架入门示例--数据库取数据

这个写给初学者看,这是最简单可以调通的例子,网上很多例子其实初学者本地跑不通,缺这少那. 1.下载CI框架(自己找) 2.配置 database.php配置:    为数据库服务器设置 connection 参数: $db['default']['hostname'] = "your-db-host"; $db['default']['username'] = "your-username"; $db['default']['password'] = "y