登录成功后,重定向到主页。
在登录和查看页面中设置会话后,当我刷新同一页面然后重定向到登录页面时,原因是什么,请您为此问题提供解决方案?
控制器
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
{
}
?>
答案 0 :(得分:0)
两个问题,第一个架构,第二个可能导致你的问题。首先,您不应该在视图中重定向。这应该在加载主页(或其他页面)的控制器中。如果你不属于那里,你甚至不应该去看看。
第二个问题是if($ result!=&#39;&#39;)。这不会奏效。 $ result是一个数组。使用if(!empty($ result))或if(count($ result)!== 0)或类似的东西。
答案 1 :(得分:0)
On your pagination_view I would not use redirect instead place that on controller function
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);
}
}