【问题标题】:Error in executing tempdata执行临时数据时出错
【发布时间】:2018-08-16 12:15:48
【问题描述】:

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);
        }
}

显示记录(查看)

<?php 
        if($this->session->tempdata('item')){
            redirect('Form/login');
        }
?>

我正在尝试使用 tempdata 概念。我有一个注册表单,我在其中存储了数据库中的所有注册详细信息以及我显示的数据库的存储详细信息 它在视图页面中。

我如何在视图页面中显示所有数据库详细信息,该视图页面我试图仅显示 5 秒,5 秒后它应该重定向到登录页面。我已经尝试使用上面的代码,但它不起作用请谁能告诉我我哪里出错了?

【问题讨论】:

    标签: php session codeigniter-3 tempdata


    【解决方案1】:

    会话的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 并且重定向执行时,此脚本就完成了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多