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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
% [5 f1 [3 ~" \2 V4 w! C! w   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
& P, M- o/ u+ S* ]+ _7 p7 w   My_Controller.php 8 P3 A* x- c1 D
  class MY_Controller extends CI_Controller
9 {) B3 L* F1 U% G$ t
2 `4 J  _% g4 ?' [{
9 S# C5 c. a' b  public function __construct()* N+ I* l! L( q* `, D
4 W0 _4 Z4 g* {0 o+ l" r- p8 {
    { # ~# \# n7 h! \2 ~% U
  parent::__construct();! k# D: ]# p) l/ n
  /*判断是否登录,判断当前URL是否是auth/login*// k" z+ w( p! u* R& z$ l, Q
  if ( ! $this->tank_auth->is_logged_in()
/ G9 Y7 n2 m' Q2 |# b  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))6 A( \3 B' I4 U) \7 V

) L- R1 Q$ d& }+ g3 @! w' o  ?! m! @        { 9 R! ^& L- H% j+ g( }
  $redirect = $this->uri->uri_string();# \7 s$ |' u  _. [  L
  if ( $_SERVER['QUERY_STRING'])7 u4 ]5 p% p- \( S1 }" T

& q0 o# Y# G( ^5 b            { 2 k" e* F, ^8 x: u& M; z+ h
  $redirect .= '?' . $_SERVER['QUERY_STRING'];" `# L& O+ ]$ i4 a* i) j# V, Z

, F+ I4 z* ^/ Q1 A  Q8 z( h            } 2 r# x! N7 {/ K# C6 G
  /*跳转到用户登陆页面,指定Login后跳转的URL*/2 Q! P* d+ \. c- t' @2 y
  redirect('auth/login?redirect='.$redirect);
/ p7 }* L0 L. w, J) B; ?$ }3 {; ~7 ~- B+ r3 ?
        }   
+ f5 p! J* a  @1 e9 D6 G; ^& E% Q& a, ~4 f1 N) Q) z9 T# r. C% G# G7 D5 P
    }
! g8 a% [6 K: [& [1 e1 g
- V; e! j  ?- j; f. v} $ o' _3 D4 J/ m3 M+ a7 }
  User.php
' A+ N  p  g# _$ H0 i5 D   class User extends MY_Controller+ G; N! T% i( R( @  U
+ i4 t6 ?) D. i3 \) k; v& J
{
# ?1 @' k+ P) ~, ?: O  function login()
, O1 G# i, ]- c7 G8 R, S9 Q1 p# a& X4 M" E2 n, X
    { 6 z2 y2 f2 U4 u" `. G2 [
  if ($this->tank_auth->is_logged_in()) {                                    // logged in# D1 m+ D: ~# q' h% J
  redirect('/');# _" T9 ^6 W6 v: G8 i
  } else {* {1 q, D1 W9 H. s5 l
  //other codes here......
" M: ], y, s5 |" K, N' p" b  /*判断是否有redirect信息*/
7 q! M( h( n3 \4 N+ {- I# R5 x  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';4 t1 c8 [5 o+ p7 v+ G
  if ($this->form_validation->run()) {                                // validation ok6 Y* Q' {6 p1 Y6 m9 U4 P
  if ($this->tank_auth->login(- [  E8 o* @1 m" }
  $this->form_validation->set_value('login'),0 l- B' O. u2 A" S" p- y1 O2 f$ k1 A
  $this->form_validation->set_value('password'),
+ w) Z4 U/ Q" B* }5 q  $this->form_validation->set_value('remember'),
6 Y) ?$ l0 G( z. t* g  $data['login_by_username'],
7 v. x7 K9 Y. d! I# u* @& o& Z  h  $data['login_by_email'])) {                                // success
& t! g5 k9 X# w  redirect($data['redirect']);
8 ]; Z6 [/ E2 m5 ]5 R# H' ^   } else {
6 {# w1 [- ]+ i0 t# k  //error handling) T: H6 q+ F: u% ]9 j

% X' D4 n3 M. V/ f- D" b                } 3 F9 ~6 h$ L' ?) v

5 P1 ~2 Z, a9 d5 p: R! P, S            }
1 x  j3 M" ]4 `; U# L  $this->load->view("login_form")6 y+ d! J! g! {, Q

, _( I, _& C3 X        } 8 R/ V% s$ r. o9 V+ K+ b3 N* w; T) D

  V5 t- }. {: d" B3 D    } ; {+ u& X! ^0 i$ |6 a

  e" l! G  O8 m; K0 k6 k/* 1 M) R. O1 n" `, ^
  Note: 在login_form中需要注意,提交表单的form地址:0 Q+ j* C. W8 c$ a8 t4 \: Q# Q& U
  $ Z! o+ C: n# h- h  z
% j0 Y, Z2 d" S
*/
0 O5 q0 @7 @, h. W: P( v* `# L* d2 w" o+ x& N
} : \/ }5 T* `4 j  y5 h
  在login_form中需要注意,提交表单的form地址:0 B% I; k0 _/ t0 k. \# f" A
  7 s7 S8 h2 y, t9 ^+ n9 Z
本文由外链代发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 月 7 日 00:14 , Processed in 0.101076 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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