Codeigniter处理用户登录验证后url跳转的代码,涉及到My_Controller.php以及登录验证模块User.php。
文件:My_Controller.php
文件:User.php
<?php
class User extends MY_Controller
{
function login()
{
if ($this->tank_auth->is_logged_in()) { // logged in
redirect('/');
} else {
//other codes here......
/*判断是否有redirect信息*/
$data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
if ($this->form_validation->run()) { // validation ok
if ($this->tank_auth->login(
$this->form_validation->set_value('login'),
$this->form_validation->set_value('password'),
$this->form_validation->set_value('remember'),
$data['login_by_username'],
$data['login_by_email'])) { // success
redirect($data['redirect']);
} else {
//error handling
}
}
$this->load->view("login_form")
}
}
/*
Note: 在login_form中需要注意,提交表单的form地址:
<?php echo form_open(site_url("/auth/login?redirect=".$redirect)); ?>
*/
}?>
在login_form中需要注意,提交表单的form地址: