Codeigniter实现处理用户登录验证后的URL跳转


Posted in PHP onJune 12, 2014

Codeigniter处理用户登录验证后URL跳转,主要涉及到了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)); ?>
PHP 相关文章推荐
分享下PHP register_globals 值为on与off的理解
Sep 26 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
php实现递归抓取网页类实例
Apr 03 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
PHP实现添加购物车功能
Mar 06 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
PHP中的访问修饰符简单比较
Feb 02 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 #PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 #PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 #PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 #PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 #PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 #PHP
使用CodeIgniter的类库做图片上传
Jun 12 #PHP
You might like
FCKeditor的安装(PHP)
2007/01/13 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
vuex 的简单使用
2018/03/22 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python闭包函数定义与用法分析
2018/07/20 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
keras 多gpu并行运行案例
2020/06/10 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
计算机系毕业生推荐信
2013/11/06 职场文书
软件工程师岗位职责
2013/11/16 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
中学生检讨书1000字
2014/10/28 职场文书