我在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'));
我该如何解决这个问题?
有什么想法吗?
谢谢。
答案 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>