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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
- U: z' r' ]+ T   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:8 j  n  E$ I9 U7 v# v& o
  My_Controller.php ' S7 M, M/ r8 }7 M
  class MY_Controller extends CI_Controller/ h; a5 h: R2 Z/ ^3 e
$ s' R% O+ s# d: j
{ , j1 e) o# @( ]8 |' x; C$ A" y
  public function __construct()1 k" ]. W: l" x1 m% ?1 P9 ]3 v
7 c  Y  H& d1 d6 K+ Q# t! o0 x
    {
* x) H% S. f, D0 V4 T9 [  parent::__construct();
# l+ ^0 k; Q) f$ I' S  /*判断是否登录,判断当前URL是否是auth/login*/
4 O& l* q$ n1 c  if ( ! $this->tank_auth->is_logged_in()
, ]! w5 i, q  A% E  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
8 }' M8 Q7 i2 z! d- J0 E/ {" g* ]; X* B, q1 {
        { ( Q8 k$ I% r5 o" P. L
  $redirect = $this->uri->uri_string();3 D6 \1 t0 I4 V' m; r% G' Q: N
  if ( $_SERVER['QUERY_STRING'])
2 L! U* X; B" w% O
$ f7 Q& Z$ X$ D; T* A            { + d, X$ N+ o: O" D
  $redirect .= '?' . $_SERVER['QUERY_STRING'];3 J$ M0 O6 J! S$ _/ a
* |, U2 i( Q7 v$ U" ]9 f/ k
            } 4 u( G% D( b  v9 n6 Y4 C
  /*跳转到用户登陆页面,指定Login后跳转的URL*// S7 d4 k# C/ R
  redirect('auth/login?redirect='.$redirect);8 T1 G6 |. Q! h1 m

% Q0 v9 Y% h# }5 n) w7 N        }   
0 E0 p1 k% ?. g& m6 u- Q/ ?5 l5 Q4 J: e. N
    }
. t* [+ q& D0 S; p7 n" a9 b% s# I+ |) V* d" f8 I3 p8 P8 ]
} . }9 e% H2 v( C: h6 z# C5 h% Z
  User.php 8 F  k- |3 p4 W! w4 Q! J( W
  class User extends MY_Controller& F  k+ k, d9 f. x

8 ~% u, f! O) m2 O{
/ g8 P( @5 O9 z" E  function login()* Q- D; O. H: K7 l

: N8 |1 N% O4 F  g' e  g6 _! ^    { ' o" \% G( S: q$ Z- D. }
  if ($this->tank_auth->is_logged_in()) {                                    // logged in7 j, j& y  B5 ]( R
  redirect('/');; {+ M/ E6 W' G) t5 {: w
  } else {
; S) `* U0 G( C; c# k# W6 l  //other codes here......
. z5 G& B  o' c* U% s  /*判断是否有redirect信息*/0 T5 A$ B7 T) C* R+ ^- q* r
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
7 P. }) W5 J+ M   if ($this->form_validation->run()) {                                // validation ok1 R2 x+ Y# S1 K- N% a* d0 A9 r' G
  if ($this->tank_auth->login(
/ m9 {# m* ^: M) @0 f  B  $this->form_validation->set_value('login'),# ?$ {  q6 E% k  y8 ?; @7 D" K
  $this->form_validation->set_value('password'),7 U6 X/ k  Z; R; o
  $this->form_validation->set_value('remember'),3 S7 z8 |: E) H( z) @$ u
  $data['login_by_username'],
- E- d; \! b6 [, x% T5 G  $data['login_by_email'])) {                                // success
5 d! K  U4 b0 x& Z( ]- p$ r  redirect($data['redirect']);
2 [0 e& E  ~8 s. |( ]3 U$ h   } else {0 h3 P  u- C1 |$ k% l- A: o9 `
  //error handling" }" |4 l/ ^0 l
. o5 K0 v! V! t6 i/ I4 t6 `' r
                } ( w. x7 k- Y" J8 y

0 p5 @7 H, `  l  Q            }
8 ^) o6 L# h7 o! N: y  $this->load->view("login_form")
5 K8 `$ u( M* o' A0 n" r& Q% M- k& o/ {: X3 l3 K$ h) w. b  T2 E# j
        } 6 T; V! f6 D& f3 ]/ V2 `, b

) P' n$ R. j) A9 I* B) }    }
0 L" i) A% v" ~; n5 x* H' c5 H$ s9 L& C2 c. P
/*
- m5 |6 N$ T! n' f0 J  Note: 在login_form中需要注意,提交表单的form地址:3 A, l3 R9 c# ^9 Y4 m- C4 k5 W
  & T- g1 r4 d  Y( k8 }. f' D; |
( |& a  Q" a. v3 P9 B! s# X
*/
- Y7 r; ?4 |  m6 n5 j
! s0 e6 N6 Z0 A9 B+ ^% [" e}
  ~) `: D  R* _   在login_form中需要注意,提交表单的form地址:
' g7 U3 q* m4 t: M3 d6 t' b% h6 {   
+ l' r% h" j2 |9 F本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025 年 5 月 9 日 05:27 , Processed in 0.018449 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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