我是codeigniter的新手,使用flashdata显示来自控制器的消息以查看。然而,在我刷新视图或移动到其他页面并返回后,flashdata不会自动清除。请帮忙。
这是我在控制器中的代码:
$this->session->set_flashdata('_flash_message', 'Thanks for your subscription.');
redirect(site_url('cp/subscribe'), 'refresh');
视图:
<?php echo $this->session->flashdata('_flash_message'); ?>
我对localhost使用了XAMPP,已经关闭了缓存模式。
尝试
控制器
$this->session->set_flashdata('flash_message', 'Thanks for your subscription.');
redirect(base_url('cp/subscribe'));
查看
<?php if ($this->session->flashdata('flash_message') {
<?php echo $this->session->flashdata('flash_message');?>
<?php }?>
在视图中,您需要添加一个if语句来检查是否设置了flashdata。刷新浏览器时,不会对其进行设置,因此消息不会再次出现。
<?php if($this->session->flashdata('_flash_message')) : ?>
<?php echo '<p>' .$this->session->flashdata('_flash_message'). '</p>'; ?>
<?php endif; ?>