Codeigniter Flashdata未显示

时间:2012-11-03 18:29:12

标签: codeigniter session controller

我有2页,其中包含delete一些记录,请查看第一个要删除的控制器

function delete($idnya)
{
            $this->m_kategorimaterial->delete($idnya);
            $this->session->set_flashdata('sukses','Hapus kategori material berhasil');
            redirect('c_kategorimaterial');
}

然后加载到视图

<div id="vkategorimaterial">
            <p><h2>Menu Kategori Material</h2></p>
        <center><notif><?php echo $this ->session->flashdata('sukses'); ?></notif></center>

它就像我需要的那样工作。但后来它没有在另一个控制器上工作

function delete($idnya)
{
    $this->m_material->delete($idnya);
    $this->session->set_flashdata('sukses','Hapus material berhasil');
    redirect('c_material');
}

以下是material

的观点
<div id="vmaterial">
            <p><h2>Menu Material</h2></p>
    <center><notif><?php echo $this->session->flashdata('sukses'); ?></notif></center>

为什么flashdata没有显示在material页面上?但它适用于kategorimaterial页面?仅供参考,首先,我做了

                $this->session->set_flashdata('sukses','Hapus kategori material berhasil');
kategorimaterial页面上的

,一旦有效,我就会复制

                $this->session->set_flashdata('sukses','Hapus kategori material berhasil');

进入material控制器然后更改值。它不起作用。我该如何解决这个问题?

由于css样式需要

<notif>标记在每个flashdata消息上制作绿色

2 个答案:

答案 0 :(得分:0)

尝试更改'sukses'键名。当你使用TOS时,flashdata()方法就像一个堆栈,然后它将从堆栈中丢弃。

答案 1 :(得分:0)

我可能会建议您尝试通过添加视图来跟踪会话变量

var_dump($this->session);

您似乎没有错,但您可以尝试在素材页面的控制器中添加它

function index()
{
    $sukses=$this->session->flashdata('sukses');
    if(isset($sukses)
       $data['sukses']=$sukses;
//load your view 
}

并且在您看来当然

<div id="vmaterial">
            <p><h2>Menu Material</h2></p>
    <center><notif><?php echo $sukses; ?></notif></center>

这肯定是一个奇怪的问题,但你可以尝试一下等待你的反馈