代码点火器会话set_flashdata


Codeigniter session set_flashdata

我在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'));试过

如何解决此问题?

有什么想法吗?

谢谢。

首先,

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

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

我会尝试这样的事情:

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