Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter模型视图控制器中的会话_Php_Codeigniter_Session - Fatal编程技术网

Php codeigniter模型视图控制器中的会话

Php codeigniter模型视图控制器中的会话,php,codeigniter,session,Php,Codeigniter,Session,当我登录成功,然后重定向到主页 在登录和查看页面中设置会话后,当我刷新同一页面时,它会重定向到登录页面,原因是什么,请提供解决方案 控制器 public function login() { $email = $this->input->post('email'); $password = md5($this->input->post('password')); $result = $this->search_model->log

当我登录成功,然后重定向到主页

在登录和查看页面中设置会话后,当我刷新同一页面时,它会重定向到登录页面,原因是什么,请提供解决方案

控制器

public function login() {

    $email = $this->input->post('email');

    $password = md5($this->input->post('password'));

    $result = $this->search_model->login($email, $password);

    if($result !='') {

        $this->session->set_userdata('user_id', $email);
        $seid = $this->session->userdata('user_id');

    }

    if ($seid=='') {

        //echo ($seid);

        $this->index();

    } else {

        $this->view();

    }

} 


public function view() {

    $seid = $this->session->userdata('user_id');
    $data['result']=$this->search_model->getall($seid);
    $this->load->view('pagination_view',$data);

}
型号

function login($email, $password) {   
    $this->db->where("email", $email);
    $this->db->where("password", $password);
    $query=$this->db->get("tbl_reg");

    return $query->result_array();    
}
查看

<?php
if(!$this->session->userdata('user_id'))
{
    redirect(base_url().'search/login');
}
else
{
}
?>

两个问题,第一个是架构问题,第二个可能导致您的问题。首先,您不应该在视图中重定向。这应该在加载主页(或其他页面)的控制器中。如果你不属于那里,你甚至不应该去看风景


第二个问题是if($result!='')。这行不通$结果是一个数组。使用if(!empty($result))或if(count($result)!==0)或类似命令。

在分页视图上,我不会使用重定向,而是将其放在控制器函数上

public function view() {

if ($this->session->userdata('user_id') == FALSE) {

    redirect(base_url().'search/login');

} else {

    $data['result'] = $this->search_model->getall($seid);

    $this->load->view('pagination_view',$data);

}

}

你犯了什么错误?我刷新主页时没有收到任何错误bt,它被重定向到登录页面,