session闪出数据的使用
我使用的情形大概是这样的:login登入后进入检测页面 如果不成功 写入flashdata并跳转到登陆页面 将这个数据闪出为什么没有效果呢??
检测页面:
失败后操作
$this->session->set_flashdata('flash_error','登录失败,请确定用户名或者密码是否');
redirect('welcome/user/1','refresh');
然后:
$data['error'] = $this->session->flashdata('flash_data');
$this->load->view('login',$data);
在login.php中
<?php
if(isset($error))
{
echo $error;
}
?>
这样使用可以不?怎么会没有效果? 汗 太粗心了 //$data['error'] = $this->session->flashdata('flash_data');
//data 改成error <?php
if(!empty($error))
{
echo $error;
}
?>
应该改成这样 结贴!!! 闪出数据是保存在session里面的,只不过Session数据只对下次服务器请求可用, 然后会自动清除。所以你根本不用通过$data数据来传递。
控制器里:$this->session->set_flashdata('item', 'value');
view里:$this->session->flashdata('item');
就可以了。 回复 6# baiyuxiong
嗯啊知道了。。 闪出数据是保存在session里面的,只不过Session数据只对下次服务器请求可用, 然后会自动清除。所以你根本不 ...
baiyuxiong 发表于 2010-1-21 00:07 http://codeigniter.org.cn/forums/images/common/back.gif
我试验下 没有成功 是不是我的流程不对?
我的步骤如下:
login提交后 检测用户名密码 如果错误 将错误信息作为闪出数据 然后重新调用login方法 并将这个闪出数据在view里面显示。
在view里面 对这个闪出数据直接echo么?要不要做无值或者没有设定的判断?如何做?谢谢! 额 看来是不能判断的判断后 值消失 再打印 会报错 没这个变量 回复 9# hdusec
可以判断的吧?你可以看看openblog的实现。
页:
[1]