Home  >  Article  >  Backend Development  >  Extending Codeigniter's user login verification_PHP tutorial

Extending Codeigniter's user login verification_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:34:07673browse

You need to modify My_Controller.php and the login verification module User.php of the controller. The code is as follows:

My_Controller.php

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        /*判断是否登录,判断当前URL是否是auth/login*/
        if ( ! $this->tank_auth->is_logged_in()
                && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
        {
            $redirect = $this->uri->uri_string();
        
            if ( $_SERVER['QUERY_STRING'])
            {
                $redirect .= '?' . $_SERVER['QUERY_STRING'];
            }
            /*跳转到用户登陆页面,指定Login后跳转的URL*/
            redirect('auth/login?redirect='.$redirect);
        }    
    }
}

User.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: In login_form, please note that the form address for submitting the form is:

<?php 
	echo form_open(site_url("/auth/login?redirect=".$redirect)); 
?>

In login_form, please note that the form address for submitting the form is:

<?php 
	echo form_open(site_url("/auth/login?redirect=".$redirect)); 
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752347.htmlTechArticleYou need to modify My_Controller.php and the login verification module User.php of the controller. The code is as follows: My_Controller.php class MY_Controller extends CI_Controller{ public function __construct...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn