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,它被重定向到登录页面,