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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
4 L& T. G2 q. |: }1 \+ _   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
: d  h8 }5 T( P( E7 ^! J   My_Controller.php ( K% U: a( t7 _- A# ~
  class MY_Controller extends CI_Controller
3 e- g) o5 H7 T* ^2 L8 M
" [' O$ _- k  d: L{
- Q$ m' R+ I  Q2 l, {+ A  public function __construct()
% Q$ E4 M# h4 ~: I$ N
9 _/ }/ c* u4 z. r4 j7 A    { ) U' v$ o9 m) `) Q1 |
  parent::__construct();
% y) N7 P6 h* b+ y' D  /*判断是否登录,判断当前URL是否是auth/login*// R  P+ b. Y1 B- u! Z% A1 n
  if ( ! $this->tank_auth->is_logged_in()
0 K+ `  @; ?4 |1 m$ {  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login')). o% m; X. X; I$ G, b

5 l; X# I' `2 Y! K' i        {
3 U6 T, o: b) A' t  $redirect = $this->uri->uri_string();
+ O2 [; N# ?& t& C) N, U  if ( $_SERVER['QUERY_STRING'])) l6 p% f& b( V, X/ M

) q) Z$ Q# `5 Y            {   A7 g; K8 ^" c) d+ C5 H7 d. }  L
  $redirect .= '?' . $_SERVER['QUERY_STRING'];  e5 ], }, |- p$ ?  P

8 J6 B9 R  @$ R            } / A% @/ ?; x/ K
  /*跳转到用户登陆页面,指定Login后跳转的URL*/
& @$ b7 c4 q$ ^+ ^7 e" L" m. `  redirect('auth/login?redirect='.$redirect);
: M- z' d2 r) D' q& @$ d' H& v' W# b' X; p( S. @! p2 l
        }    , c# ^, s9 H' l  b

. `0 J- z' o3 _: \; w7 c! @    } - w5 R+ j% m0 b

9 x  h6 W8 z8 v: `+ p9 [}
6 Y  l9 O$ A1 V  W: ~   User.php * z+ M8 _7 T: p2 t0 G. s9 Z1 o# Y5 T
  class User extends MY_Controller
% z& K6 S/ d' _0 [; J1 H' \
( W+ r0 v/ {( J0 t( g, _{
8 S- N3 y: A  k  B- s  function login()* J( w$ n) j. E8 [7 h2 q0 [

% q- [& C' F' C# W    {
+ w9 G3 N3 u- S, {, D5 V1 {   if ($this->tank_auth->is_logged_in()) {                                    // logged in+ ~/ N( b! M- m
  redirect('/');9 [2 v2 ~8 N& L
  } else {- ]' L  R% N5 M4 ^# P. E
  //other codes here......
  r" L" |7 p+ `3 R6 k  /*判断是否有redirect信息*/
. e4 I' b) a! s8 v9 O  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
! d2 R. R/ k1 V% A8 @& P   if ($this->form_validation->run()) {                                // validation ok; n2 w4 x5 d6 N( d
  if ($this->tank_auth->login(* t0 @. M1 q: A( M4 W6 F2 A* E
  $this->form_validation->set_value('login'),- Z2 f& H( [: A/ e4 Y
  $this->form_validation->set_value('password'),! E: O1 Y4 j% x! L; v$ Q6 L
  $this->form_validation->set_value('remember'),
9 l" @2 y2 j9 U  $data['login_by_username'],, O- Q0 O0 ?1 d" q6 Q
  $data['login_by_email'])) {                                // success9 O1 ^( I  p3 w" n5 y0 b6 M
  redirect($data['redirect']);+ M6 x: w6 k) M" s2 T
  } else {
2 r! \( o9 C/ h. |  //error handling' ]7 G3 j3 R" F0 d0 U, B
' \4 G4 g5 n9 E0 N8 G
                }
0 W! L+ A+ P) k* n0 K  w* R: t2 e* M2 C& }+ Y7 i3 C1 H
            }
) D) B; l6 w5 [, T  $this->load->view("login_form")
( {. D  ~0 b8 x: ~+ w9 m
. }$ R/ j( K! a- ~* J- T        }
* u) E- G8 I1 [$ o7 L) I6 x
7 A( f- f/ Z  b9 {  o    } $ D- M& |. t  [3 \3 i3 [- Q0 }
9 _) ?1 e. P7 a: W& [- e
/* - A# e8 A0 d. i; M$ q( H& p
  Note: 在login_form中需要注意,提交表单的form地址:9 ~& }/ S  u: S7 U
  
5 B$ e0 x/ p5 s* y& @5 X' M
9 l4 i( C& f# s0 W*/
6 F; T4 R' C4 H3 o* s' Z$ p. N" B# }7 L* u
}
2 l# D8 i$ w" k  }" g4 {   在login_form中需要注意,提交表单的form地址:
2 m' o- y& r+ B; I   
7 y1 k0 S# x+ E# W- 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 年 2 月 7 日 00:14 , Processed in 0.080362 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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