找回密码
 注册
美国原生IP服务器推荐-Yv.gs
【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 3|回复: 0

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
& H$ t$ T* o+ {) v   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
. G& _. r6 V/ }   My_Controller.php 3 q, i# i' ]8 V  k% O4 b
  class MY_Controller extends CI_Controller$ e4 J# Y3 l+ q5 a$ f" d0 P! h

3 m) @- `: }2 N- O8 J6 l{
7 U/ }) ~5 V) s5 Z0 f1 e9 t  public function __construct()
% ~4 z* @% z8 x, ~, h8 S' {7 `0 X+ g$ C/ x
    {
% v- n( v* K9 B! s: y  parent::__construct();  Y$ U; c9 C( r# K
  /*判断是否登录,判断当前URL是否是auth/login*/
) s, v. z- X2 }! Y# _7 O, R  if ( ! $this->tank_auth->is_logged_in()
5 V( V2 Y6 [. E" I, i  @9 u  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
7 J! d  S' E, H- Q9 D
5 _! ]+ C( D- `  W2 M        {   \& N3 W. D/ \9 N
  $redirect = $this->uri->uri_string();
; K7 i7 D2 V' z9 J' v# }  if ( $_SERVER['QUERY_STRING'])* U. d! B+ a( Z+ A4 R3 C
- z# [) }) ]1 m: N4 _1 V
            {
% ?, x) ^, H. U3 i1 H' {  $redirect .= '?' . $_SERVER['QUERY_STRING'];
' Z6 f7 N! q8 k9 O  S4 q' c  M, E5 f2 Z. E2 o
            }
# `7 p9 X" d, I/ u& Z  /*跳转到用户登陆页面,指定Login后跳转的URL*/
5 g# V. J/ H) X7 C* Z  redirect('auth/login?redirect='.$redirect);. |) `8 i; e& l8 c
8 S' b; h9 I3 x# a+ H- n
        }   
1 G$ ~0 q6 s% o4 d0 \% ]+ ^/ [# Y: \6 C
    } 7 H+ O% W. U# k2 W4 C0 i9 q
" O7 _7 A3 K. _2 l
} 5 I4 t( `1 m- w( B4 K6 H
  User.php
7 ^! m: P5 i$ H. b0 i0 y1 |3 o   class User extends MY_Controller
: e# w+ S3 \  F7 ]/ b' N. Y; {1 G$ @3 t/ d6 L) d- o
{ % Q: p! h" ~4 J7 a- {5 e
  function login()7 c( _9 a1 k/ B  i6 y
% V! Z3 j2 M- a/ o
    { $ a7 p. s0 p$ S
  if ($this->tank_auth->is_logged_in()) {                                    // logged in
  G* E: D, P, L6 I) O  redirect('/');
. Y1 E9 R4 h* A( J" h9 d1 y: `, `   } else {2 c- e/ m3 E) u+ F2 w% Q6 Q4 s
  //other codes here......( T# c, w! d( u# x4 `) R3 u% `0 z
  /*判断是否有redirect信息*/
! S' x6 ~- Y' J, G7 a/ w* v& q  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';7 B4 d- R) i; t' I  V) I% J8 v5 _
  if ($this->form_validation->run()) {                                // validation ok
1 J% n6 m& R4 L" |* _  if ($this->tank_auth->login(/ N% ]2 z" m  z) x* s6 k& A) ^
  $this->form_validation->set_value('login'),
# a' R: J* f' l% M- z" a  $this->form_validation->set_value('password'),3 l6 q# `* z  I& ]; i
  $this->form_validation->set_value('remember'),
+ x' q$ G8 M3 ^) V5 ~+ X! @0 d, Z0 Y  $data['login_by_username'],
2 u4 k( Z) S! j9 b; k. Q  $data['login_by_email'])) {                                // success. P4 ^6 }6 Z' [0 h" l7 q1 B
  redirect($data['redirect']);
$ M" I/ v6 v# u   } else {
8 A0 A7 S- G! b+ _  //error handling8 L7 T- K% x4 V$ _. a$ v0 ^9 @
) f, M2 `" j' f
                } / z- p: Q5 }! K! `
: Y6 `) a9 m; q; F
            } ) m) ]+ v  Z5 s  h4 ~3 B! [
  $this->load->view("login_form")
' `& ~1 ^: b; A0 N5 @0 L3 _1 N# N9 R' a
        } 0 D' a# t) p' b. e

" z: m* h- w. |6 S9 B9 x" e    }
8 T8 j) C$ I# F  t- f5 @  v
9 c# }  M+ a) R# R$ x7 H/*
. H7 n0 R$ F' i5 L, X5 H$ U  Note: 在login_form中需要注意,提交表单的form地址:
3 j* s# x$ N' g1 m0 H  
' n7 A* R& x- J5 {: f+ K
1 A4 H  |0 T! F* y& p) G*/ 8 X: k: J# z  N& K+ L) Q) u/ E

% F, r& J' u/ L) i3 ?, B" U' j} & o8 C4 L- D0 x/ Y
  在login_form中需要注意,提交表单的form地址:* c2 p1 q& _, Y4 y, O- x7 U
  
, ~# M$ {2 H' L& Y3 l) D本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国原生IP服务器推荐|Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 1 月 20 日 21:53 , Processed in 0.028283 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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