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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
. p, P. N) {. i/ k   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:+ `2 p5 \# W& g/ v
  My_Controller.php
, J& i" }8 y9 c% F! ?& i' r   class MY_Controller extends CI_Controller! a& P% T  ?, k: g1 G, I
* J* h- B% L- J) Z
{
3 c% o; c- i$ |* q- ~  public function __construct()" q3 o+ J" D8 ?$ u
' f. e/ U( d4 Q* C0 u4 p( f! j
    { / [4 E' p) p& S& g6 t  q
  parent::__construct();- E* P5 o0 [2 @- b- {
  /*判断是否登录,判断当前URL是否是auth/login*/# F! M/ p1 ?6 M9 R7 B4 K
  if ( ! $this->tank_auth->is_logged_in()
+ |  z. {8 g( E) x  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))' L/ r8 e' h( q4 n. [; f! }

3 j5 m* P% v' R+ x5 z        {
! s) w8 T5 \+ k, S1 {/ e3 i  $redirect = $this->uri->uri_string();+ T5 Y3 a8 x, S* B* h; ^# E
  if ( $_SERVER['QUERY_STRING'])
2 _' C! y7 @! [4 |- ]" a+ [7 E( {6 |& }' Y1 ]2 @' |
            { ! f/ V( N" @+ L; \; z; U) [
  $redirect .= '?' . $_SERVER['QUERY_STRING'];  s6 L% ^  r" [3 c! o7 l7 A
2 A7 s3 C8 a9 B4 T/ c! d& d4 ^, g1 _
            } ) _# M$ V8 y# i, x0 {
  /*跳转到用户登陆页面,指定Login后跳转的URL*/- _& C) i# s. V: q/ p# S5 W1 y  Z, Z
  redirect('auth/login?redirect='.$redirect);; X# h5 K6 @3 M  Y9 W
+ x! y% f/ h+ F% l: K
        }   
! M5 G3 y4 S' T4 d" j
1 Q1 r( H' U$ o    }
" w; t( s, L8 s( k4 ~6 ?+ I) P1 Y8 v
) C4 Z. Y! {- d* g& H! p. T- {} ' M8 l" R5 g2 O: {& P; K
  User.php 3 R  I/ v% [" `  S6 R1 y$ w5 v! v% ?( C
  class User extends MY_Controller
; J7 j5 p/ n( {  S9 P/ l  \
, i& b4 W$ X, N4 R( Y+ V{
, l( g: f1 ?8 W+ t# W% P  function login()
, T" r2 x8 f) e2 E5 Y. E) _1 b6 i1 W" x0 q4 Y
    {
9 ?6 q9 s  ?. Y6 I" `" V   if ($this->tank_auth->is_logged_in()) {                                    // logged in
4 j* E/ A- g' l0 Q3 P- s9 G* X$ _  redirect('/');0 y. h( w* |8 X% ]
  } else {( L1 ~6 E+ Q9 O% p5 Y
  //other codes here......
$ ~! i7 U4 n9 n# f2 C$ C6 Y- c+ W  /*判断是否有redirect信息*/$ x" V, h2 S% H, N8 h+ Q7 F
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';2 ]+ P7 f6 [; h9 T# \. [" M! d) N/ `
  if ($this->form_validation->run()) {                                // validation ok1 d' b2 W+ ^' \' T9 w4 ?3 A% i/ ^
  if ($this->tank_auth->login(+ j, ?0 A# @' y# I
  $this->form_validation->set_value('login'),9 V* S6 Y- _( S) s& C
  $this->form_validation->set_value('password'),% z/ \7 D+ _$ x. ^
  $this->form_validation->set_value('remember'),
, V) R: `9 z% G) K0 h  $data['login_by_username'],; m3 G' F0 x& A- @9 M
  $data['login_by_email'])) {                                // success  H/ V% R' O- |4 g4 M
  redirect($data['redirect']);2 M: A6 f" M4 |7 Q3 r. @$ M
  } else {8 ?. N/ B9 Y6 t  e* F7 B
  //error handling
& B4 y! ^4 K7 H9 Z- W$ U
' F* {' P1 p; Y% U# H9 n7 ]( f) h                }   X. u0 c2 T; u

8 g0 n3 h+ j1 m8 Y2 h' O6 ?            } 9 {7 w9 Q0 Q8 Q# L  H) D
  $this->load->view("login_form")5 W) @' P# U9 p( a! F& B) O* W" M

" U: L0 x' }7 z% V" j8 M        }
0 A, k$ J* x9 n2 f! X/ r  j" N' ?
  t3 @& ^4 g5 w+ i8 s+ I    }
0 y3 T1 L+ M4 z: \* j- W+ D1 K* @% ^( \( B4 ?
/*
5 m6 K% D  o# @  Note: 在login_form中需要注意,提交表单的form地址:7 J6 q1 k+ M( e3 @6 G& Z% ?5 N
  8 m+ Y: l+ o; |% |* B1 w8 Q

7 F  [+ x) f8 D*/
% u, q2 T* q6 Z3 M" t
& {# z1 ~) Z$ V! `# x: Y% M}
+ y6 M3 W2 g7 ^9 ~+ O$ k* t   在login_form中需要注意,提交表单的form地址:' l* K# n* B9 O" A0 f4 }/ j* u
  
3 P1 E/ K# F. l1 D$ f' q本文由外链代发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 日 22:03 , Processed in 0.028154 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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