我正在尝试在控制器1中设置闪存数据并重定向到控制器2,在那里我将数据存储在$ ls -la output* | wc -l
10
变量中以使其显示在视图2中。以下是我的代码:
$page_data
$this->session->set_flashdata('message','my custom message');
redirect('controller2','refresh');
$page_data['loginmessage'] = $this->session->flashdata('message');
$this->load->view('view2',$page_data);
CodeIgniter能够加载View 2,但不显示登录消息。换句话说,我没有在Controller 2中获得闪存数据消息。
答案 0 :(得分:0)
您需要更改代码的一小段代码才能正确重定向。
控制器1:
function first()
{
$this->session->set_flashdata('message','my custom message');
redirect("/controller2/second", "refresh");
}
控制器2:
function second()
{
$page_data['loginmessage'] = $this->session->flashdata('message');
$this->load->view('view2',$page_data);
}
此外,如果刷新页面,则闪存数据将消失,因为它只会出现一次。
查看代码相同
<p> <?php echo $loginmessage ?> </p>
答案 1 :(得分:0)
无需使用控制器2来显示flashdata。使用此
控制器1
$this->session->set_flashdata('message','my custom message');
redirect('controller2/any_method');
现在,您可以在message
(通过控制器2加载)文件中使用view2.php
作为
<p> <?php echo $this->session->flashdata('message'); ?> </p>