|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
; R7 d; z) D; z2 x: `* R+ e Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:8 g% J- _9 v6 H6 ^. h) n# K1 L
My_Controller.php * p: S( D6 ^4 ]. q2 D, }" a, }3 P
class MY_Controller extends CI_Controller
; C- w9 ^9 {* a. b% n5 o9 r5 f' m) Y$ d9 f9 x
{ 3 ?1 I# T6 ^8 L% ^3 e1 P
public function __construct()
\ O- Y' C; I. [, [9 Q7 U; |2 H' I& d/ Z# W, D, |; H% t
{
1 V5 Z/ L, m- P. J parent::__construct();
: Q* x7 f' L) ?- e3 `# Y /*判断是否登录,判断当前URL是否是auth/login*/# j% x* e8 j; T! u: A. x8 H
if ( ! $this->tank_auth->is_logged_in()( t: q o- m5 E; y
&& ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))3 ^2 ?( `/ ]' r
5 y- `% F( |; A: X { 1 S3 Y9 h7 M/ g- {! W* i$ j
$redirect = $this->uri->uri_string();) X! ^7 M, L. Q
if ( $_SERVER['QUERY_STRING'])4 ?4 O% G& K; w [4 E6 G
# l' C/ @( ]# [
{
2 H7 U9 A0 \% K; X% U $redirect .= '?' . $_SERVER['QUERY_STRING'];5 g+ m2 K2 Y3 J2 f% v) D d
* V/ A% [' p3 }2 e
} ) k7 e6 d- K$ `( p, o2 \/ ?
/*跳转到用户登陆页面,指定Login后跳转的URL*/' Q2 L/ R+ W7 T7 w
redirect('auth/login?redirect='.$redirect);; j7 f2 }& k8 q- ~* A, K+ Z
& v! s0 g4 ^" z8 V2 s
} " ]) _ O, y4 U
2 E- [+ Z' Y8 r! d* g4 a } 4 D% B4 ?& [& ?7 L& K% V
T" p% Y9 {/ @% J4 d. `8 t! \3 t
} ( Q0 M a& a( a6 O
User.php
5 q- j) a. V3 V% d2 L class User extends MY_Controller5 {5 V( R ~4 y9 G
8 h6 c( ~, E, }% m" {) O
{
3 ]! `# M% H, q" \+ t+ a function login()
; r' @/ b+ [6 I1 H4 A( C
. P' _0 e2 D# q- z { 4 t5 {( l- ^) ?1 r% K. J% k# z6 w2 J
if ($this->tank_auth->is_logged_in()) { // logged in
, N( V E7 M, y% H6 F* P redirect('/');
, _0 X2 p. V m# u } else {
5 y0 b }2 J- q //other codes here......
- C2 X4 Z; X) X /*判断是否有redirect信息*/* S) A& s+ y+ o a4 J8 ~' B3 g; v4 R
$data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
2 X) P# L' D% g0 V/ P) s { if ($this->form_validation->run()) { // validation ok
, ~$ u5 y% [' c3 L2 `2 T if ($this->tank_auth->login(' T0 A5 k4 W8 Q& i0 e+ y
$this->form_validation->set_value('login'),
) M6 o* I$ B7 h- d$ x $this->form_validation->set_value('password'), H, {$ |% v# \& _! g
$this->form_validation->set_value('remember'),
6 C. c. J1 {- M, j; u/ M $data['login_by_username'],
3 Z4 J/ x7 A5 w: m1 ?4 | $data['login_by_email'])) { // success
( i2 v' i, n% P+ m! N% l redirect($data['redirect']);
! c" W+ o1 _/ {6 Y/ d } else {4 H7 x$ y% y5 k9 g8 M% W5 Z E3 f
//error handling4 A; m8 W! i9 l, |9 y$ h
9 x; q5 C0 u5 M1 a+ N3 N }
7 Z4 O8 v8 j) h4 Q9 Y- H6 x5 M& S1 l* l9 \6 U7 c% b
} + r/ r. A1 }0 K
$this->load->view("login_form")$ b0 a5 v4 t5 F9 R$ R$ r
" `0 C7 p- c" y/ J% E2 n9 h4 I) t9 [
}
0 o3 s/ Y0 P, j8 X0 d' E2 |* G( p7 P0 k- Z5 m
} + ~% n* L) V7 U+ i2 L6 N7 w) E! i
$ t; u% e) K4 }7 u2 M) P$ Z/* ( K" g3 |- O2 s# e& r% x. j" P
Note: 在login_form中需要注意,提交表单的form地址:
9 L8 O: ^# Q0 G) `8 C
2 h9 S3 z$ B: E! g
1 w& I3 J- A' ~6 |& l+ E*/ ! q0 f0 N; `- L2 M
5 j) ] q( M' W) q. ]; Q}
e r- S; F7 b8 j, G" b 在login_form中需要注意,提交表单的form地址:
8 H+ q6 T6 R" `3 j: C- l' D $ M1 ?) l$ j! Y4 ], R
本文由外链代发http://t.qq.com/wailiandf整理 |
|