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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
# l8 q! q! L4 e  Y, u   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
& P. G7 ?7 K% j; |/ Z   My_Controller.php ) s% V7 Q* t" i0 |* F1 U) O
  class MY_Controller extends CI_Controller4 {( P* D$ p+ x& A
, @- H& C! h# L$ S& _( M
{
' k4 i! q& }' Y3 {0 j9 j, A6 l  public function __construct()0 u/ d3 W2 N5 ^/ l5 x; \

4 ?) Z+ ?7 v% M/ H6 p' G; m    {
. K  E$ r' Q9 v' _4 }. C  parent::__construct();) ?" n- c/ R/ Z$ y
  /*判断是否登录,判断当前URL是否是auth/login*/- k* N' q2 c% E& `# T9 U" H- h4 ]
  if ( ! $this->tank_auth->is_logged_in()9 h. ^+ L1 {! d* I# ~/ E
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))8 u9 j( a4 I3 W9 P

9 c& U- ?' n) G) l7 Z5 q  I        {
9 c0 u3 Q: d" k/ u  $redirect = $this->uri->uri_string();
' n$ G, ~! N6 g# Z6 H& x  if ( $_SERVER['QUERY_STRING'])/ }2 T! [  \2 M0 o. l

8 v7 e' z! N2 `; c7 C            {
& a2 `- B3 E1 n" ?0 X. ~  $redirect .= '?' . $_SERVER['QUERY_STRING'];9 I+ {5 j  v4 g  x" u* i- W

6 J- g5 ]& ?6 I0 w4 f            }
: b) @9 h3 m, V8 Q  /*跳转到用户登陆页面,指定Login后跳转的URL*/
5 G! ]( j" z$ o" Z+ c6 Q: ~  redirect('auth/login?redirect='.$redirect);9 L+ v" m2 D( u
" E0 _( f5 g- g$ M5 i; y4 u8 a1 l
        }   
' T/ [# l$ c0 b/ w6 K) _' F& T, r- E
    } ; ]5 {& F9 m, f0 }' T* r
3 o1 r7 C/ a+ I5 H5 `
} 7 T/ d- A2 Y! Y+ ?
  User.php / V9 q# j  @/ U
  class User extends MY_Controller0 ?$ C( t' X$ l& S

8 u) Z( x/ a2 `{
) f1 A( K1 [2 o& `" _4 f  function login()
: \% @: Q4 Z5 Q8 H2 n* v; S6 {" i8 }; L# W* e8 Y9 P6 M" x# s
    { 4 [# _% Z% K, s" J/ k& Z
  if ($this->tank_auth->is_logged_in()) {                                    // logged in
$ p/ ~, {' {9 R: g9 z  redirect('/');: g8 F/ j6 k; c; K! }; C: o& g
  } else {# x" i8 Z- r& q/ R
  //other codes here......* z0 s$ G1 S$ A0 S
  /*判断是否有redirect信息*/
; z9 Q  Y/ z4 N6 P4 s  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';. H6 i* [7 z( z
  if ($this->form_validation->run()) {                                // validation ok
, W$ m+ o0 `! h' {3 O$ ~  P  if ($this->tank_auth->login(
+ s2 J6 O+ @2 v: x3 c  $this->form_validation->set_value('login'),2 H0 r7 w& O  e' `' O
  $this->form_validation->set_value('password'),
7 k* `9 E* Z7 N: p  $this->form_validation->set_value('remember'),
: o) K7 c& @3 ~0 v6 Y  $data['login_by_username'],: h/ v1 C) q; ^2 }0 g- l4 b
  $data['login_by_email'])) {                                // success7 b: f" E4 [. y" N/ z( U1 u
  redirect($data['redirect']);
5 {1 e; w' ~" _3 g, P& d   } else {; s, }  ~. P, b
  //error handling
5 a! b% [/ o- C# g4 F' q( y
$ R$ Q7 v9 e2 j8 w# O1 [9 Q8 j                } ) c( b% u8 x! Z, I
3 V3 g$ ^$ X# q, Q- _8 }; o
            }
( E% P; `. N' ^* @+ h: Y% i  $this->load->view("login_form")
3 P$ P' f. S- x. C# I7 D) d. s! E6 S- K# z0 m* L5 [+ f
        }
+ Z6 L& E# x7 J. |5 R8 U; ^) R+ A, X& B% I  o
    }
! p. @# |' j, U
9 Q- x6 ?* ~$ N/*
( H8 q( D  O. q- x& X, N2 O  Note: 在login_form中需要注意,提交表单的form地址:6 d' x3 j. A0 M; o7 m4 P3 X+ W
  
! x: w& @) C7 n; }
; F2 P( z% j/ j- K*/ " B3 l8 I6 n% [: B  O
1 b3 a1 I3 f* W9 ?, C
}
0 V+ N+ \: M5 ]   在login_form中需要注意,提交表单的form地址:+ Y, F# N' C% b- A
  
2 r) R1 I6 u' r/ X本文由外链代发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 月 15 日 18:14 , Processed in 0.017143 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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