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

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

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

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

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

×
        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整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025 年 4 月 8 日 01:10 , Processed in 0.017583 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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