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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
  q4 w$ ]8 o& V" `9 o& f   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:, g9 ]+ |9 g5 o2 E: M- V; @
  My_Controller.php
" M9 C8 e# W& R% c( T7 E$ J   class MY_Controller extends CI_Controller
, U$ S5 [9 @% C; j9 [! v
" G/ d8 b. p5 w- x' B{ 1 c7 q" d' G" w& n2 u: ~/ t
  public function __construct()4 [: Y; |, k& G; R3 }

. s7 \7 p" \4 j4 @4 L, h" s! A    {
  p3 g# a7 e" T  parent::__construct();
. V' I, a4 e5 t* _  /*判断是否登录,判断当前URL是否是auth/login*/
/ C- a7 f! N7 V3 ]. A  if ( ! $this->tank_auth->is_logged_in()
! z  d9 Y, L6 `1 `+ D+ p+ m  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))# A  b$ D# W5 t9 W) s9 q! G$ e

. `& W. ^0 T+ R4 V$ W        { ! X) A2 j0 g& Q" \4 l
  $redirect = $this->uri->uri_string();, U& E' j* ?8 {
  if ( $_SERVER['QUERY_STRING'])
! `: t$ Y6 I6 u1 Q
' }% K# g" K; F  V            { ! G  F  e. Y2 Z/ d
  $redirect .= '?' . $_SERVER['QUERY_STRING'];* S" |) g+ _- R3 r8 y
, [" Z- E# V4 L. {
            }
/ o& j( j, C8 t% V3 q4 Y2 Z2 M  /*跳转到用户登陆页面,指定Login后跳转的URL*/: Q% p1 r& A! h* B9 u' _! i2 Q
  redirect('auth/login?redirect='.$redirect);8 L9 s2 A7 [* T

% j$ o6 l( y" D& H8 i8 r        }    1 X/ V2 \1 l) U6 p' K

$ [' R" `! b3 O9 R+ u    }
6 T0 {6 K* G$ I# B
; Q' U) K0 F+ z}
/ T- o& u, j- s) y5 Z( {   User.php
0 Q9 Q* U6 E* J/ W% ~   class User extends MY_Controller
3 j9 H3 {0 Y# q1 ^# O. T) \( O6 r( E8 |" V1 @3 [1 y, S# J  l8 r
{ " i5 k, ^8 t' S0 r& U( Z
  function login()! h6 z' m8 h6 E2 Y# r# e. v: V

* G6 N6 R% e, v0 q9 [' b    {
' ?1 k" o; P- D, @- _   if ($this->tank_auth->is_logged_in()) {                                    // logged in; q! ^4 D6 t6 x; F( B" }
  redirect('/');0 r* ?- `- A6 E4 S
  } else {: ^( ?" A* N! {) q4 P  \* c
  //other codes here....... S# y: a) P: X' X
  /*判断是否有redirect信息*/
  O1 S2 P5 r0 v% b  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
1 c% c6 e# F3 F: O) K1 W   if ($this->form_validation->run()) {                                // validation ok6 `5 w6 ?6 U9 T6 _, ~" _
  if ($this->tank_auth->login(' v4 N( z8 H' z, h+ |
  $this->form_validation->set_value('login'),
8 a* }: [' i4 f6 ^1 L  $this->form_validation->set_value('password'),
3 \+ D9 y. C" E; k  $this->form_validation->set_value('remember'),
* `# |3 P" B( }# H& r. C  $data['login_by_username'],
# `/ D) J9 u- I5 E  $data['login_by_email'])) {                                // success0 ?5 P3 B: _" U* W5 I
  redirect($data['redirect']);. @1 j, y, X' U* g8 o0 b6 K
  } else {
: o4 M% {% L, r# U  //error handling
1 R  d3 i+ ?9 R3 f
# w; I6 G! j" ?' u' h; _. K                }
* q- l6 `3 w% L* F  {* Z! V
) `2 c, N) E: @( }            }
  S! D) A% U1 f! M& R3 G7 S  $this->load->view("login_form"). c8 ~7 v: t$ A

; {' G3 I$ `) t, ^: z        }
2 b- P6 r0 a7 u, U! @  W* n" c- c# M- r# W. p
    } 7 w4 N) Q  Z' y3 e3 t

" D5 D- d$ Y( U/ E, I$ e/* ; \" K  \* N8 g+ y4 U% W
  Note: 在login_form中需要注意,提交表单的form地址:
% F1 E5 D. K  P1 k0 Y5 p8 z  
! J7 V  @/ t& I0 b# Q( Y" \8 f3 `2 B$ i0 y. Z6 f
*/
% d5 M" `: x% t7 \0 ^  I7 S. m# ?: k5 x/ L0 ?
} 7 @2 p" X. h2 G/ I: a9 M5 k
  在login_form中需要注意,提交表单的form地址:2 \3 a+ }2 \' B; O7 u3 |; T
  : Q4 m6 u' |' [. Q# ~2 Y
本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025 年 4 月 29 日 06:34 , Processed in 0.089803 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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