找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 4|回复: 0

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:. f4 b" |, `7 o! V
  Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:7 w% _, Z$ v7 A+ Y8 L) ]
  My_Controller.php
8 {/ G  H& R& j; A4 S   class MY_Controller extends CI_Controller
/ P0 \* ]0 w& Z8 o1 `; f# ?. v
; |* J' `. S) e. k: r, J{
4 S6 w& C7 C" f/ k& Q5 c  public function __construct(), r5 _) E5 T" N0 D# @! d

1 ~) S& b, g2 g9 z# l& |# `+ U/ P    {
9 }* j. h# }# [& ?' P  parent::__construct();" S* v0 @& U6 ?8 B2 T6 X
  /*判断是否登录,判断当前URL是否是auth/login*/
4 X! J7 c- @6 o* i2 k- v) |6 k$ w  if ( ! $this->tank_auth->is_logged_in(): Y4 w( F! S% Z
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))' y$ C/ s6 s& r9 {$ F. r  X. h. t

) ~+ l: g7 b. `5 H9 n8 I. F        { % X; Z; V+ f3 s1 Y, N
  $redirect = $this->uri->uri_string();* U* M9 G; M- e: L" \
  if ( $_SERVER['QUERY_STRING'])
' D' b  G& d5 E7 Y( L# z6 m3 p/ o6 n) ^: T( G. J- [
            { 5 a$ I5 x+ R! J: V
  $redirect .= '?' . $_SERVER['QUERY_STRING'];
( \1 r& {1 Q" J$ U3 y: \" W% `, \
            } 7 {9 A: E9 B( E& O% Q( E. N9 E2 N( t
  /*跳转到用户登陆页面,指定Login后跳转的URL*/  e; \4 [, I& m
  redirect('auth/login?redirect='.$redirect);$ I3 D! I- s, _; a

& Q/ `% _$ f9 B8 k9 y        }    . `0 D+ W  u9 [" v/ c

8 @5 ^* d9 _9 e; O$ V/ ~) z/ k    } 7 i( ]2 H# h: a) k

* f: }4 t+ O6 k}
1 V% z# ^* i1 e0 J* A   User.php # e2 u6 w6 T7 h2 X7 X
  class User extends MY_Controller
4 R8 M7 `  C. c& Z+ }4 _; W. M1 c/ L8 C' j4 b  W
{   {7 P8 E( N. m9 m8 I8 P- P, w
  function login()0 |# M4 t* i9 m
; E9 q/ e" o; H7 Y8 w: {
    {
1 K, w7 j( d+ P' D- M8 a8 j& k   if ($this->tank_auth->is_logged_in()) {                                    // logged in( ?9 y. S: Y$ n: L
  redirect('/');
. H( n; C+ l6 x! ~; [# a   } else {
9 S; V7 x$ G* }% |  //other codes here......
# s. C% r5 ?( N' n) n1 I  /*判断是否有redirect信息*/4 c: B6 x% Z% P# P- ]
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';' j2 @' ?- M, ~: p  B' f; M' T
  if ($this->form_validation->run()) {                                // validation ok
2 D, ?  Q. t3 @5 y6 s  if ($this->tank_auth->login(, N  r. {0 T- D/ B* l* m
  $this->form_validation->set_value('login'),
. u0 e9 ^+ j# X3 w, t& p% ?  $this->form_validation->set_value('password'),* C2 |+ S2 [: H0 B$ Y% t
  $this->form_validation->set_value('remember'),
) r; ~: \- P6 V/ E1 ?/ ?  $data['login_by_username'],
( b& z) b/ u  m& T7 w( o  $data['login_by_email'])) {                                // success
* |. s) G, s/ S# y  redirect($data['redirect']);
% K7 q5 E3 j' Z7 _   } else {; c* v/ G% e0 v  p7 M: L$ p
  //error handling: x" l0 j0 H1 w
- q$ @/ y# X( M( y$ u
                } 7 |* S% M2 R1 o- s3 X

- R. ~; \, c7 I9 D            } 6 ^. r. T: O) B0 Q$ Q6 O
  $this->load->view("login_form")% Q- T; |# u1 h6 o( A/ l/ q! J. Q
; |; Z+ R  G7 I* K8 n% S
        }
. v: J2 p- k+ z! l0 w+ w* g# a3 Y0 V4 j# L7 r9 }
    } ( X# _) G" M0 t, d) T: _1 l
% |. d: Y! R0 W" b' O' F
/* 2 ?9 s; W* v/ n" G1 O9 i6 t
  Note: 在login_form中需要注意,提交表单的form地址:
* W) L+ d( U' L. j# I& r  
5 |* H1 n9 T- g6 Z- G6 g
* Q6 C6 f2 m* t) ]8 s  ^*/
! e9 d* m: R/ }; Y) b* [0 \
6 u! ?4 v! a; n; b} 7 G) E. V8 E+ S: T9 c2 S7 F
  在login_form中需要注意,提交表单的form地址:; E+ L, p' w% w& O
  
( C6 e8 G8 u% p# a  [本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024 年 11 月 16 日 22:46 , Processed in 0.019337 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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