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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:' Z+ F4 n- I' N6 y* N
  Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:+ l5 y, x% D9 h% Q+ l$ V
  My_Controller.php
: P4 p) E6 n7 E! n7 s3 l- ?   class MY_Controller extends CI_Controller
5 H2 g0 Y( ?1 H6 G5 [' s( O3 Z  O: Y' ~* m2 l
{
$ H5 M8 c2 K: n8 O3 `  public function __construct()
& d' h0 k7 |8 E# ~. C
7 S$ Q  T4 T  L5 \, ]    {
7 F$ [) c8 y* r/ E1 T  parent::__construct();
. J4 P! L8 d8 l- K  /*判断是否登录,判断当前URL是否是auth/login*/
" v8 f+ r, J! R1 {. b, n$ K9 J+ w" v  if ( ! $this->tank_auth->is_logged_in()9 W- o0 W/ H( c: C+ W
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
! w: O% l  R, M& ?3 e. D9 M' v( U, J
        { $ G  b, Q3 h+ b6 L7 c- l
  $redirect = $this->uri->uri_string();
8 E  X+ I9 E; k& H1 S  if ( $_SERVER['QUERY_STRING'])
. N# ^2 z6 T4 C9 ^/ P- j! k( F7 N' V0 X/ c4 a7 }
            { $ E, d4 Z4 e. K& s) \% @9 z
  $redirect .= '?' . $_SERVER['QUERY_STRING'];$ s5 `7 _6 X8 V$ c
% |% U& m# n9 o, ~1 A8 L
            }
+ K# d. }$ ~/ K( }" E% c  /*跳转到用户登陆页面,指定Login后跳转的URL*/
5 b  D( H7 H: T  P) J# ~+ X: R  redirect('auth/login?redirect='.$redirect);
  P$ x: u/ H& H+ Y& [  o- f
( b& v) j: Q# V9 J        }    / ~0 F- d; M% q- p

$ d' R! }) x: H1 w6 _1 C* C) o3 I    }
& M' }& z0 p( |' E4 S7 C/ [; }1 r* s
4 ]' t8 h% g8 w% g3 Q/ e+ F$ E}
4 v, E$ E/ z3 C  u# \: Z' W   User.php
: |' u$ t  ^9 E4 z1 _   class User extends MY_Controller# g1 e8 `# d2 c# J' v! A2 e3 A
, n# S& e# z5 \& g% o
{ , ~7 o: u+ ]; o. y  r
  function login()! Y. K6 N2 Q0 q) H+ A
: ?$ D( g0 e( r9 E
    {
' W9 A  M; U8 x; U: T, d& n8 ^   if ($this->tank_auth->is_logged_in()) {                                    // logged in
+ j! @# ?1 t" K+ X  redirect('/');( v. z. \  y( I- x$ k, z
  } else {
5 `- d( t6 X# |$ K, P# R" d+ Z  //other codes here......( y; I' @1 `+ o
  /*判断是否有redirect信息*/! ]9 x6 o* {: d( q) ?, L
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
3 T6 }/ W/ D3 E- p   if ($this->form_validation->run()) {                                // validation ok2 |( U# A6 k: X+ ^
  if ($this->tank_auth->login(4 N. {9 D. [/ p* Z; S
  $this->form_validation->set_value('login'),  z4 [9 ?" j/ h/ z" V
  $this->form_validation->set_value('password'),: ?9 [- G% G& y" `
  $this->form_validation->set_value('remember'),
  ]: r. d' Z$ a$ N, F* D  $data['login_by_username']," d6 Q! p# L1 s, I$ b% v* U" E
  $data['login_by_email'])) {                                // success
. G! {$ [4 G* Q( U5 u+ T2 t2 k) d  redirect($data['redirect']);4 q* j9 [7 Q8 M4 S" A
  } else {
: R2 |* i+ p6 ^) p7 t( ^  //error handling
9 m( i: o  i- a. t( c7 f5 w
6 x( M, ?" {; w# U. x7 f                }
* M3 R* ^/ P, [- g9 M1 |( l- x- j9 ]
            } 5 \2 a$ @" I  M% a) E  Y+ X
  $this->load->view("login_form")
" h  o# ~* N1 s% h  _; [" p
: U; W( D5 \1 r2 E8 Q" k        } : o: s  k7 o" l& C& i
8 V6 S" N( s6 p! H
    }
3 Q' ?2 L, }1 d! K, p( p9 {7 B" u1 J
/*
# }" x& M) v$ a* J# n, G  Note: 在login_form中需要注意,提交表单的form地址:
2 s; D3 k8 }6 X/ c  
1 P3 X, h' ^% v5 P0 i$ Q
8 o/ `. Y, @- _! l*/ 7 W/ T5 w: w+ C" L% ~

1 ]  Z  W/ ~  a" o8 P; Y4 p} ' T$ F6 Q; o* s# D# y; ~
  在login_form中需要注意,提交表单的form地址:
( G( x  |5 X/ p5 K! q   ( f8 \, {8 U9 E& l# B
本文由外链代发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 月 20 日 20:31 , Processed in 0.017464 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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