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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
' E+ e/ i. i- ]( v   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
6 m) B* Q1 J! Z$ ~  H   My_Controller.php ( u; Q8 c+ Y5 G% S. ~) D$ i
  class MY_Controller extends CI_Controller, @2 E! ?' J8 \! F* _
  d7 K% k% j- n% e
{ : z8 H: v+ ]4 _( v( H9 W
  public function __construct()
" G7 X" H/ n1 d$ i) v' C$ `2 z% {( D) s, B/ L
    { " P: R7 P, c% z( s' D* h
  parent::__construct();
/ L8 ^6 k. h/ R) k8 L0 o  /*判断是否登录,判断当前URL是否是auth/login*/
7 h0 E* V0 P' n! @3 I2 B) c  if ( ! $this->tank_auth->is_logged_in()
2 U( S3 D' N3 E- B9 b7 ]+ O( E3 M  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))- r$ ^+ y( e. |5 I) Y, P3 H1 c/ o
' h0 C. y; N+ y. i6 i3 Z; M; f( K" P
        { ' q& A8 m7 m. b: U9 ^( ~7 E
  $redirect = $this->uri->uri_string();. w8 c0 U1 K5 w. v/ n
  if ( $_SERVER['QUERY_STRING'])8 ]9 @- r3 F! \( f

, A; Z" w% \  |8 q+ p1 o, v: S            {
) u9 H0 a3 k/ _  $redirect .= '?' . $_SERVER['QUERY_STRING'];
0 U7 H! ?4 U- B% Q
9 J& x, a) c: X9 Z* m            } 0 f5 a; p: y/ U8 P0 w, |6 Q1 ~  ]) {
  /*跳转到用户登陆页面,指定Login后跳转的URL*/
! v2 {+ h" x, K. B* |- j( d# D  redirect('auth/login?redirect='.$redirect);
) {: l/ L. j" c
, n& N- C7 E0 E# Z        }   
3 G9 w7 |# t# p7 T4 y& [
$ Z* D7 X" ]6 E* y/ q4 \* G( c    }
8 }$ ~' S+ [& }1 P% H
! l' |5 y" |8 F0 X: E} ) z$ u# W7 b, d2 o5 n$ N7 s
  User.php
8 a" C3 t1 p! p( `: G   class User extends MY_Controller# [% [& f3 p+ v% Z4 y# O* D, w
( f( u/ P- L6 R
{
5 F- S6 y/ l( N* S  }' ^  function login()3 p0 v! U4 X1 e
, z9 h$ D. r: l% W' o, k' K
    {
  q/ O* a% q9 g   if ($this->tank_auth->is_logged_in()) {                                    // logged in
: P4 z  n7 g, o4 J  redirect('/');
: g2 `$ m3 w3 l3 ?   } else {# Q) Q4 U- ~4 X
  //other codes here......
4 g4 _* p& Q8 _2 B/ I9 }  /*判断是否有redirect信息*/+ u7 F$ e9 D$ q: N% p$ \3 ?
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';5 l* S0 ^+ O, O% M* Y+ `! L- B9 _
  if ($this->form_validation->run()) {                                // validation ok
; j2 c! @4 b4 u5 y5 S  if ($this->tank_auth->login(
2 H$ q+ h$ r9 Y, T  $this->form_validation->set_value('login'),) |+ y. H& s& @' j5 G3 n
  $this->form_validation->set_value('password'),9 ]  a- i6 |$ r' s* [& H
  $this->form_validation->set_value('remember'),
! S# F9 v7 q: i, f7 V  $data['login_by_username'],, }  |. h) s5 ^" m
  $data['login_by_email'])) {                                // success
. E+ }3 \% R1 _* K+ o# V' z8 E0 y, Y  redirect($data['redirect']);  g* w6 R9 L8 A# W
  } else {2 N7 S% M5 ~6 H2 _$ O
  //error handling, Q1 L8 d7 n$ c7 l

8 G7 `6 Y. K. _                } $ E4 R4 [9 ?: t5 V( |( k
! l: S7 L+ R9 M' \
            }
1 H9 |# P  v% r1 m  $this->load->view("login_form")% o$ o/ X: h) m8 f, ]* y! ~/ B* W
0 z; S) e! A5 q6 O# t# [4 d5 }8 l
        }
( f1 L" r% @' p2 g" o; S% W( l. W/ q) q1 h2 o
    }
" V: @, t/ f% M0 x& ^) P1 ]5 J+ P! o% @/ F! I( u
/*
  I3 I  K. U1 {  l% F) b5 e  Note: 在login_form中需要注意,提交表单的form地址:* r8 o) B8 P, @# m- B
  ! d% g" Y6 D/ D/ `. `
) Z5 N* k  E. z) }, X- T
*/ ! D! |7 A! `' M9 G' T/ A# U, c

/ j; Y8 ?5 Q! O1 I/ `3 w}
& @2 ]9 X& r; j   在login_form中需要注意,提交表单的form地址:
# g, ~3 B) k7 c% l: H& M   - _. R4 B* K7 g) X2 l# S; T( i
本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025 年 3 月 13 日 00:55 , Processed in 0.017407 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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