找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 4|回复: 0

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:2 e! o7 i( J; Z9 F. ]9 L
  Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
; K5 B9 C% Q2 @4 [" h   My_Controller.php ) S+ B- g# F: o. M& g- i9 p% v
  class MY_Controller extends CI_Controller, x1 Q1 K$ T/ H* g/ L
1 Z: W3 S  a: u
{ ! g8 G8 ~2 u7 [+ V
  public function __construct()
( B' }. G/ s+ |3 C) c# B: p: M) j, p; \
    {
3 t; n: f9 o9 c6 m7 c8 Q) M  parent::__construct();! h" l0 M9 G2 |7 ]/ r5 j
  /*判断是否登录,判断当前URL是否是auth/login*/
8 j/ R# k* q6 z3 k  if ( ! $this->tank_auth->is_logged_in()
5 X: c3 F8 X5 w3 ~  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))4 Q' _* l+ W( U4 [; k7 z8 J
2 o: d8 A$ y6 e. t$ w
        { " r' S: o; b, \9 N+ H4 I
  $redirect = $this->uri->uri_string();
& Q1 @- X2 G' c' e. V: O  if ( $_SERVER['QUERY_STRING'])# _, A6 S; D2 a3 I

: S9 Z0 A' p0 F5 g5 b2 M# L- |. l            { 2 H6 _) b  Q; _3 c5 v; A
  $redirect .= '?' . $_SERVER['QUERY_STRING'];
- j! }; y; Q5 y+ ^( ]* v' ]) b8 K1 P# I$ S4 T. K5 i' }
            } * h% x: N* r" v% y& c  _0 f
  /*跳转到用户登陆页面,指定Login后跳转的URL*/% m2 H2 W2 Z# X9 H
  redirect('auth/login?redirect='.$redirect);6 I* Q3 e3 B7 k: b8 f

% @, n% m# B; H9 q. M  V- b        }   
% K6 x! \: M, B- Y+ K. A
1 C' V& E( y( t. K0 n! u* i# i    }
1 R& ?8 i2 V7 i! B# p3 j0 H& b' |% x8 ^
}
% a# o$ [3 W6 I/ b8 N) t   User.php 2 N( n- n3 z4 O/ n3 J: x
  class User extends MY_Controller7 E1 i5 X! K, H, n$ F8 s* M) h5 a

; {: \5 z6 N1 D, f0 M  E{
  B0 T" F# L7 V3 C  function login()+ g+ {* V- r9 Y" |$ |- U
) M" p2 ^, `2 y% R% A
    {   a( F1 R- e7 s. x' g7 s: ~
  if ($this->tank_auth->is_logged_in()) {                                    // logged in
+ Y4 K9 E$ s: @/ ~- O( |! a$ d  redirect('/');! M  R2 A$ ?7 w" E- I# b
  } else {
  F; M) X' D/ K2 e7 u  //other codes here......' i" P3 I' G- \
  /*判断是否有redirect信息*/
  q- v% ~' Z$ {, K  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
! E3 M! {; R$ P1 `8 W% G# w' E   if ($this->form_validation->run()) {                                // validation ok  `2 c3 W+ ^9 D, K* l* J6 ~
  if ($this->tank_auth->login(
; {* T8 j  F2 I) z% J! }  $this->form_validation->set_value('login'),
1 b  W5 {, n2 d2 d; b2 `& b. e  $this->form_validation->set_value('password'),
; h! Q& h8 u) s; V3 {# y) _4 j, _  $this->form_validation->set_value('remember'),
" V( ~" ?& u6 {1 V. P& y, f  $data['login_by_username'],
" H5 M3 ?. a# W/ E( b  $data['login_by_email'])) {                                // success
, m9 _  m' ^1 L  v5 K  redirect($data['redirect']);" l% y' L6 r' b! B& D
  } else {& I$ a. R* {4 \* i) I0 h7 I+ J, H
  //error handling
/ j* B; I. u: _+ q
7 [- a; L8 c% c3 ?1 g                } 0 S6 r; Q. s8 d8 ]  W) I

2 y+ _. X% j1 A" j! l            } ; c2 C9 g7 E5 {" z9 M
  $this->load->view("login_form")
7 r# ^7 h8 i2 Y5 v( c# k+ _2 U1 ~0 x
        }
% l  k; L2 p! W) H* F% T5 u
$ ^3 _& T  _( [4 f( J' p    } % k/ I7 p( x0 D* H% K

2 ?9 f4 G* ?. Q: E/* ( [# Y6 T/ ^) q, E
  Note: 在login_form中需要注意,提交表单的form地址:/ |' I6 b1 s% H- A; ?1 S
  
' Y- f1 U, n2 M; H& r' t. D5 l
) @# y3 @; x' l. }  Q5 A* a& a*/ ) k. A  u$ j: E2 |8 Y- C/ M' i

$ t' X# O  A& v5 f2 G  r5 D}
- ^" h& |1 k/ g8 r) ?  T0 n4 I* H( H   在login_form中需要注意,提交表单的form地址:. O. i* l6 F* c
  
# Y/ U* ~% H. _* k6 D; c2 c* c本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024 年 11 月 17 日 09:59 , Processed in 0.113537 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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