找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 10|回复: 0

codeigniter处理用户登录验证后url跳转

[复制链接]
发表于 2013 年 4 月 28 日 19:07:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:( ^( a; V/ o9 }6 U
  Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:. m9 U$ _5 p7 g# J& z
  My_Controller.php
% p# `9 }; p- H- f5 f   class MY_Controller extends CI_Controller1 G" D6 e8 e$ ]" O

+ H  X, _# M8 Z' O{
. l/ R' j, k  O2 [" Q9 `/ _  public function __construct(), t  n/ p4 S( @( T% d" q

" ^; v7 L( m5 Q: \) y6 w6 b    {
4 ^2 u7 C, ~0 n4 C$ @4 f3 N  parent::__construct();* W& H/ S* X7 b. G. c8 E  Z
  /*判断是否登录,判断当前URL是否是auth/login*/
2 E2 |  ]$ E- T6 w! j; B  if ( ! $this->tank_auth->is_logged_in()
5 P& Z( V; f/ I7 B  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))) {0 O4 ^4 R( G
% F( b7 O, R# l7 D! `+ b3 z' p
        {
) G: i, p/ A9 Z* u  $redirect = $this->uri->uri_string();: |* w/ ?! ?9 J  [# K" \
  if ( $_SERVER['QUERY_STRING'])
) F5 Q1 ^9 S7 S  c1 p5 h* k& o7 {) L/ f( |9 k% ^' a5 y9 D
            {
  g6 @) X  r# b6 k8 u9 c2 j% e; v  $redirect .= '?' . $_SERVER['QUERY_STRING'];
& S; |3 m& h( n/ h9 ^% R1 |
1 B) G) G; |1 }$ h            }
4 l( Q; D$ q2 F5 z1 x* T  /*跳转到用户登陆页面,指定Login后跳转的URL*/1 s8 }/ T, Z  O& T1 a3 L2 n
  redirect('auth/login?redirect='.$redirect);  K# L/ i+ ^7 ^$ h0 U! I+ T

4 q3 A" s: M! a! `; k- L        }   
- |, B! G$ [+ Q) f; ~  X" W: H6 Z- b* z% ^( _$ v" ?- W
    }
# w" U$ [+ J6 a# [9 q9 r7 @
8 l3 T; R/ l+ F) j5 F; B3 G3 J( K}
2 {4 u/ L4 h; A" a   User.php 0 O. l4 F, v; m
  class User extends MY_Controller
9 w: e$ R, W, z) A) j) B5 x+ c3 q+ ~( R3 D4 f+ H; T' @
{
! P2 v% t) x0 j+ T- ]  function login()
/ j6 {% A! a7 w& l
4 s4 ?$ f  V4 S2 Q' V    {
+ y" S) {7 z7 @8 d   if ($this->tank_auth->is_logged_in()) {                                    // logged in* L( x" S# s3 C+ G
  redirect('/');
1 Q- ~2 D3 R8 V   } else {
% }; h+ d- c* X  //other codes here......
, s- S! V& J5 L" F3 y  /*判断是否有redirect信息*/, d6 m0 f. c* H, y8 b" c( [
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
5 v1 a. H7 C, s9 O   if ($this->form_validation->run()) {                                // validation ok% f" d. G0 Z) X0 [9 Z( o
  if ($this->tank_auth->login(
0 c( ~2 _, z$ p5 p  $this->form_validation->set_value('login'),5 S) O: b3 t& v& s9 [& d: Y) s
  $this->form_validation->set_value('password'),( h2 x8 O; y- P8 f
  $this->form_validation->set_value('remember'),7 c/ E) |# S' n; e0 ^
  $data['login_by_username'],
" h+ \  _3 p, G6 V3 Q9 Z  $data['login_by_email'])) {                                // success: S1 ]8 |& L5 u6 u! k
  redirect($data['redirect']);. {0 b. d' [0 q; {
  } else {% m3 [, g( w3 q5 v6 p: Q
  //error handling
1 E5 q: F+ }1 P' m7 d7 Q( @5 h6 o! A- |  }
                } / l# ], I8 w+ n+ a4 s1 i9 H

! s' R! e5 _6 a7 Q3 `4 ]            }
/ ^2 w. B2 a- G7 t! d( r  $this->load->view("login_form")
) p9 Z; C. d- K( }7 D: m  `& p0 Y; f+ e5 c
        }
# d# U$ o. z- b, w5 G  ^9 j+ n8 w$ B' Z* W; Q! u. C$ N* v# ?
    } 3 U0 ^/ E2 n7 g; l& g% m
) `+ p4 [: x% B) S8 F: g/ j
/* 8 T3 N, T; K8 H) e4 Z; A, _1 ]8 F
  Note: 在login_form中需要注意,提交表单的form地址:# ?7 X+ V3 B: z6 ~/ x2 R  m% X
  , b8 I& _! j2 g- e) v) j4 s

8 ^7 H2 B" T9 a*/
1 v: F/ k7 V) _1 ~+ Q% c2 I6 w) Y- C- F  J, Q
}
3 w/ ~5 P8 x( h1 Y5 V4 b   在login_form中需要注意,提交表单的form地址:) ?, ]4 e5 ?  W6 L& M1 @
  
5 U4 T: o* w* H: _& i* m' D本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 5 月 12 日 11:44 , Processed in 0.110480 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表