Codeigniter会话set_flashdata

时间:2015-03-31 22:10:29

标签: php codeigniter

我在CI中使用set_flashdata时遇到了问题。

控制器:

if($var == true) {
        // some action here
        $this->session->set_flashdata('success', 'Success');
        redirect($_SERVER['HTTP_REFERER']);
    } else {
        $this->session->set_flashdata('fail', 'Error');

        redirect($_SERVER['HTTP_REFERER']);
    }

查看:

<?php if (isset($_SESSION['fail'])): ?>
<p class="text-danger"><?php echo $_SESSION['fail'] ?></p>
<?php if (isset($_SESSION['success'])): ?>
<p class="text-success"><?php echo $_SESSION['success'] ?></p>

无论如何,我都没有看到任何消息。 试过var_dump($this->session->flashdata('success'));

我该如何解决这个问题?

有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

首先,我要确保您已正确初始化所有内容($this->load->library('session');),并确保在配置文件中设置了加密密钥。

其次,Codeigniter不使用PHP的本地$_SESSION,它们实现了自己的。{1}}。所以你不应该测试它是否设置为<?php if (isset($_SESSION['fail'])): ?>

我会尝试类似的事情:

<?php if(isset($this->session->flashdata('fail'))): ?>
<p class="text-danger"><?php echo $this->session->flashdata('fail'); ?></p>