Heim  >  Artikel  >  Backend-Entwicklung  >  扩展Codeigniter的用户登录验证_PHP教程

扩展Codeigniter的用户登录验证_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:34:07644Durchsuche

需要修改My_Controller.php以及控制器的登录验证模块User.php,代码如下:

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: 在login_form中需要注意,提交表单的form地址:

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

在login_form中需要注意,提交表单的form地址:

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752347.htmlTechArticle需要修改My_Controller.php以及控制器的登录验证模块User.php,代码如下: My_Controller.php class MY_Controller extends CI_Controller{ public function __construct...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn