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同时支持GIF、png、JPEG
Oct 09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
Ping服务的php实现方法,让网站快速被收录
Feb 04 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
destoon调用discuz论坛中带图片帖子的实现方法
Aug 21 PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 PHP
php中的常用魔术方法汇总
Feb 14 PHP
使用Composer安装Yii框架的方法
Mar 15 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
微信小程序发送订阅消息的方法(php 为例)
Oct 30 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 PHP
PHP+MySql实现一个简单的留言板
Jul 19 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
URL Rewrite的设置方法
2007/01/02 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
javascript下function声明一些小结
2007/12/28 Javascript
js中cookie的使用详细分析
2008/05/28 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
详解Python中类的定义与使用
2017/04/11 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
创业计划书——互联网商机
2014/01/12 职场文书
市场营销计划书范文
2015/01/16 职场文书
学生会工作感言
2015/08/07 职场文书
中学生运动会广播稿
2015/08/19 职场文书
《我是什么》教学反思
2016/02/16 职场文书
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL