我有登录检查器的这个功能,什么时候$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
不会显示消息。
如果重定向,则无法获得 form_validation 消息。但是您可以为此使用 flashdata。
加入这个$autoload['libraries'] = array('session');
在application/config/autoload.php
和将这个代码在您的登录页面
if ($this->session->flashdata('basisdata_cek')) {
echo '<div class="alert alert-warning">';
echo '<p>' . $this->session->flashdata('basisdata_cek') . '</p>';
echo '</div>';
}
并把 flash$this->session->set_flashdata
代替$this->form_validation->set_message
之前redirect
:
}else{
$this->session->set_flashdata('basisdata_cek', 'Invalid email or password');
redirect(base_url('index.php/login'),'refresh');
return false;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句