我有登录检查程序的此功能,当$email
和$password
错误时我想要重定向到另一个页面,例如登录facebook页面,$email
和{{1} } incorect他们指向不同的页面,但仍然登录页面(但不是同一页面),并发送信息$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;
}
的消息不会显示。
答案 0 :(得分:2)
如果重定向,则无法获取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>';
}
并在$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;
}