在codeigniter中重置密码后如何重定向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在codeigniter中重置密码后如何重定向相关的知识,希望对你有一定的参考价值。
我有一个重置密码功能。我想知道在成功重置密码后如何将用户重定向到登录页面。这是我的代码。
public function UpdatePassword(){
$tok = $_SESSION['token'];
$newpass = md5($this->security->xss_clean($this->input-
>post('newpass')));
$confpass = md5($this->security->xss_clean($this->input-
>post('confpass')));
if($newpass == $confpass){
$this->db->where('password', $tok);
$this->db->update('user', array('password' =>
$confpass));
if($this->db->affected_rows() > 0){
return true;
}else{
return false;
}
}
else{
$this->session->set_flashdata('error_submit',
'new and conf does not match');
redirect(base_url('Login/resetpassword'));
}
//redirect(base_url('Login/Login'));
}
答案
只需在密码更新代码后添加重定向功能。
public function UpdatePassword(){
$tok = $_SESSION['token'];
$newpass = md5($this->security->xss_clean($this->input->post('newpass')));
$confpass = md5($this->security->xss_clean($this->input->post('confpass')));
if($newpass == $confpass){
$this->db->where('password', $tok);
$this->db->update('user', array('password' => $confpass));
if($this->db->affected_rows() > 0){
/*here you need to add redirect url if you want redirect on login page
example login page url is xyz.com/login then pass login in redirect function
*/
redirect('login');
exit;
}else{
return false;
}
}
else{
$this->session->set_flashdata('error_submit','new and conf does not match');
redirect(base_url('Login/resetpassword'));
}
//redirect(base_url('Login/Login'));
}
另一答案
重定向到注销页面,以便用户可以使用新密码再次登录
public function UpdatePassword(){
$tok = $_SESSION['token'];
$newpass = md5($this->security->xss_clean($this->input->post('newpass')));
$confpass = md5($this->security->xss_clean($this->input->post('confpass')));
if($newpass == $confpass){
$this->db->where('password', $tok);
$this->db->update('user', array('password' => $confpass));
if($this->db->affected_rows() > 0){
/*here you need to add redirect url if you want redirect on login page
example login page url is xyz.com/login then pass login in redirect function
*/
redirect('logout');
exit;
}else{
return false;
}
}
else{
$this->session->set_flashdata('error_submit','new and conf does not match');
redirect(base_url('Login/resetpassword'));
}
//redirect(base_url('Login/Login'));
}
以上是关于在codeigniter中重置密码后如何重定向的主要内容,如果未能解决你的问题,请参考以下文章
SESSION 变量在 Codeigniter php 中的 redirect() 上被重置