执行tempdata时出错

Form.php(controller)

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(view)

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

im trying to work with the tempdata concept. i have a registration form where i have stored all the registered details in the datbase and those store details of database i have displayed it in the view page.

how that i have displayed all the database details in a view page that view page im trying to display only for 5sec and after 5sec it should redirect to the login page. i have tried with the above code but its not working please can anyone tel me where im going wrong ?

The tempdata feature for sessions only affects how long the data is allowed to be stored. The removal of the data, after 5 seconds in your case, won't cause anything else to change on the page.

As far as I can tell you don't need tempdata at all. Try this to see if you get the behavior you want.

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

Why did I remove the else from your code? Because redirect does not return - it ends script execution. So, when the if evaluates to true and the redirect executes this script is done.