• 技术文章 >后端开发 >php教程

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

    2016-07-13 10:34:07原创293
    需要修改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('//m.sbmmt.com/m/');
    
            } else {
                //other codes here......
                /*判断是否有redirect信息*/
                $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '//m.sbmmt.com/m/';
    
                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地址:

    
    

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

    
    

    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...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:CodeIgniter 登录
    上一篇:如何为PHP贡献你的源代码_PHP教程 下一篇:PHP关联数组的一些使用技巧_PHP教程
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 请教一个json传输和解码的问题• PHP 连接mysql的问题 新手!!!• PHP和MySQL入门(4)• PHP部署时的几个配置修改说明_PHP教程• php模拟数据库常用操作效果,php模拟数据库_PHP教程
    1/1

    PHP中文网