执行临时数据时出错

时间:2018-08-16 12:15:49

标签: php session codeigniter-3 tempdata

Form.php(控制器)

public function dispdata()
{
        $result['data']=$this->Form_model->displayrecords();
        $this->load->view('display_records',$result);

        if (!$this->session->userdata('ci_session')) 
        {
            redirect('Form/login');
        }
        else
        {
            $this->session->set_tempdata('item',$result,5);
        }
}

display_records(查看)

<?php 
        if($this->session->tempdata('item')){
            redirect('Form/login');
        }
?>
我试图使用tempdata概念。我有一个注册表格,其中所有注册的详细信息都已存储在数据库中,而那些存储的数据库详细信息已显示 在查看页面中。

我如何在视图页面中显示所有数据库详细信息,该视图页面仅尝试显示5秒,而5秒后应重定向到登录页面。我已经尝试了上述代码,但无法正常工作,请有人给我打电话,我在哪里出错?

1 个答案:

答案 0 :(得分:0)

会话的tempdata功能仅影响允许将数据存储多长时间。如果您的情况是5秒钟,则删除数据将不会导致页面上的其他任何更改。

据我所知,您根本不需要tempdata。尝试此操作以查看是否获得所需的行为。

public function dispdata()
{
    if (!$this->session->userdata('ci_session')) 
    {
        redirect('Form/login');
    }

    $result['data']=$this->Form_model->displayrecords();
    $this->load->view('display_records',$result);
    // sleep for 5 seconds
    sleep(5);
    redirect('Form/login');
}

为什么我从您的代码中删除了else?由于redirect不返回-结束脚本执行。因此,当if的值为true且重定向执行后,此脚本就完成了。