【发布时间】:2017-03-13 03:50:24
【问题描述】:
我有这个登录检查功能,当$email 和$password 错误时我想添加重定向到另一个页面,比如在facebook 页面上登录,当$email 和$password 不正确时,它们会定向到不同的页面但是仍然登录页面(但不是同一页面)并将错误的消息发送到页面$email或$password
function basisdata_cek($password){
$email = $this->input->post('email');
$result = $this->login->login($email,$password);
if($result){
$sess_array = array();
foreach($result as $row){
$sess_array = $arrayName = array('kode_daftar'=>$row->kode_daftar, 'email'=>$row->email, 'password'=>$row->password);
$this->session->set_userdata('logged_in',$sess_array);
}
return true;
}else{
$this->form_validation->set_message('basisdata_cek','invalid email or password');
return false;
}
}
但问题是当我像这样添加重定向页面时
}else{
redirect(base_url('index.php/login'),'refresh');
$this->form_validation->set_message('basisdata_cek','invalid email or password');
return false;
}
邮箱和密码错误时仍然是直接页面,但form_validation的消息不会显示。
【问题讨论】:
-
重定向时信息丢失,因为整个过程重新开始。除非您使用会话传递信息,否则下一页调用对最后一页一无所知。
标签: php codeigniter login-script