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秒后应重定向到登录页面。我已经尝试了上述代码,但无法正常工作,请有人给我打电话,我在哪里出错?
答案 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且重定向执行后,此脚本就完成了。