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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
/ C6 G! q( a. t1 \2 Z   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
- j+ f7 S8 g9 Q: H   My_Controller.php 0 ?. [& M0 T5 O- V4 N
  class MY_Controller extends CI_Controller$ T7 z) e, F3 q! F8 U6 t3 }

6 D/ |* @/ S+ L2 k7 o, _{
$ W2 G8 G" j+ ^7 Y  N7 S  public function __construct()8 w( n' ^- N/ E1 N1 X
5 \" ~1 C  d- F6 e# ?! {+ e+ W
    { ( X+ u, X& N6 D$ Q* \
  parent::__construct();
6 F, }$ e$ A8 K- s  /*判断是否登录,判断当前URL是否是auth/login*/- O( z8 J* T1 t9 _( l7 Z
  if ( ! $this->tank_auth->is_logged_in()$ U) m9 d& t/ A" A) Y, d; {
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
; E, c- M/ _/ T" y! P1 W2 D; z' ?: ^, L3 U6 T
        {
& i, B; H7 R  x$ q, U, W3 x0 g  $redirect = $this->uri->uri_string();% N3 _2 _7 ?3 _. {' Z
  if ( $_SERVER['QUERY_STRING'])# a8 D! x& p4 B+ \! X  q

7 X/ b8 U; `+ O- ~7 I4 t1 x" ?            {
7 l: y6 u- i. f$ A0 g' h7 H5 L  $redirect .= '?' . $_SERVER['QUERY_STRING'];7 [+ j( \; x1 I, {

9 B7 w/ m7 V: Z# P2 T6 q! `            } ! Y9 Z9 e) T* R' p% M5 h) j
  /*跳转到用户登陆页面,指定Login后跳转的URL*/
& h7 r; p/ Z& I  redirect('auth/login?redirect='.$redirect);
, y4 D4 w7 @' R3 F. h$ j% ^+ d+ G+ n$ ^$ l
        }   
  {! _( Q4 x  p- `% a! d
0 i: z5 R* z; n+ E    } # d9 V: Q7 E1 j/ u& A
% H% g, A! E5 p+ |- m& ?* ]
} 3 \& o. p. R7 x5 _0 f
  User.php 8 e. N6 B# t% Y" F2 U3 F
  class User extends MY_Controller  s. {7 x2 y' H/ S2 F

, t% @( i& x$ a9 [" ?) v& M+ r# G  [{ ( g7 m8 B0 R- r) n
  function login(). F, q4 s$ L: w" I$ j4 w* n

* W* Y2 E: B/ r    {
5 }2 e% M' S3 e/ M+ r   if ($this->tank_auth->is_logged_in()) {                                    // logged in0 Q9 ^2 J0 L6 X7 \& O, A3 v5 S1 u. Z
  redirect('/');
0 }' U' V1 Q: P6 E% t( Q   } else {3 Z& [3 {7 o9 [) @' F( K4 R+ I
  //other codes here......
7 p0 U' N. p+ x; ~9 o  /*判断是否有redirect信息*/
# X: S8 `$ T/ {3 Y  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
9 V) z+ u2 D  E, B" [- ^* x   if ($this->form_validation->run()) {                                // validation ok; m' M! x$ `0 B: G8 y, }6 k
  if ($this->tank_auth->login(' L, `9 ~8 Y' B7 n6 {
  $this->form_validation->set_value('login'),
+ K) c& f1 m( b, G2 J  $this->form_validation->set_value('password'),
( Q: b; n; v5 L( O# a4 p& a& k  $this->form_validation->set_value('remember'),
. @- z/ u3 u1 X8 g  $data['login_by_username'],
9 Z! k$ S+ B5 ?% G  $data['login_by_email'])) {                                // success0 o- _+ u& [( m( V
  redirect($data['redirect']);/ f! k+ z0 y1 b# C$ d4 e
  } else {
7 o7 A1 G  R/ s& k* \7 ?9 \0 U  //error handling. G8 H, _+ L- ?' k

- o2 @" k( {, ]4 f% K. y# c                } 7 g! J/ z9 ]/ ]' |8 p
* X$ W" }0 V/ Z" V- ?( Q
            } 1 r& w# B& L7 j1 u; M  Z2 U+ r
  $this->load->view("login_form")- c& j  e7 B+ g* K2 k& p
& k' l$ y* E3 E: ~# v  P
        }
! O5 B8 w6 _& Z+ I+ w; j& E& l
9 j) n! A/ l; K0 q, C' r# {    }
5 b  _9 `5 x$ C- C) n% G2 q2 ]+ |  M; A
/*
$ j2 i2 s. _0 n( I9 S* G  Note: 在login_form中需要注意,提交表单的form地址:
) ]( f: x; P' Q1 n* D    A0 d* x9 l. p- R0 D

7 E7 @7 u1 ~+ L& E*/
; f& v/ Z/ e! i* ~9 T/ ]7 R3 V/ Y5 j) u' ]4 J
}
7 J. V8 Z2 `6 Z2 y+ m$ J   在login_form中需要注意,提交表单的form地址:
* U" C0 a& B" N" S6 {   
. l/ G6 A6 L! _( S本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025 年 2 月 24 日 16:40 , Processed in 0.018195 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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