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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
9 {/ v4 N% {9 t4 ~$ Y( v   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
& ~/ b. d% `0 N. d   My_Controller.php
( E# ^5 B% B# b8 K$ O% Z& b   class MY_Controller extends CI_Controller3 y5 \( n! _; l' Z4 A1 K  S9 m0 S) K

# [, r5 o) a3 a) i, l{
! [, A/ R2 e/ _' K) n5 x/ Q  public function __construct()) q( |& u" H# G

  ?4 q5 x7 M1 k  W% u% u/ W8 q    {
/ H3 j$ n; A* q7 W: C  parent::__construct();% |8 U- b% ?$ q! }! m% w
  /*判断是否登录,判断当前URL是否是auth/login*/
) q; h) n% T. c! {  y9 {  if ( ! $this->tank_auth->is_logged_in()3 h' d" P: u" q! _
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))* A, M$ c- a0 ?/ r7 B

8 w) O: a) f0 X  V+ U        {
7 L9 c8 ~4 K9 ?( j5 Q3 g$ G! u, A  $redirect = $this->uri->uri_string();8 F5 A, \8 E% @
  if ( $_SERVER['QUERY_STRING'])% b* v. A  O( a% ?

, \4 }3 D3 l+ x5 j6 K* s            {
1 e) }0 Q( a3 f" ?, @* D9 ?  $redirect .= '?' . $_SERVER['QUERY_STRING'];
9 ^: l9 a* m3 q1 ~6 J) Q: s: }1 ~. p+ B/ n  \# c* S- H& e
            } $ `- ^! \" \. L
  /*跳转到用户登陆页面,指定Login后跳转的URL*/
: h% n7 `! u% a, d, K( P  redirect('auth/login?redirect='.$redirect);3 o( G% D! S1 D2 t8 {

8 s& q, `* H5 Y, F! ~/ N+ p        }    $ S8 P  e. F+ a( U, J' O' L7 f5 R
$ c% U( W2 e% ~
    }
0 Z% P3 K  a& L# \% ^
$ o( @( _  J% C% _} : i9 @9 z  p2 ^% E% D
  User.php 8 @4 P/ `* Y" ~  ]1 _, W$ [
  class User extends MY_Controller
( ~& N: ]" N1 _$ q5 m; D# w. ]$ }' K# U6 E9 T; r
{ 4 D% X2 y6 i2 v; x  U2 ^
  function login(), z$ r- b1 ~" a
7 r8 ~5 z4 D0 v7 ]
    { ( g7 h7 p6 ~9 ?6 n; A) s
  if ($this->tank_auth->is_logged_in()) {                                    // logged in
- w' X' m# h: d8 F- @9 m- K  redirect('/');# I( l4 i, K) [8 r6 m, L+ J, V
  } else {
' y* u/ k0 s/ e% l5 G: d  //other codes here......
' c* K, g& K$ H& [/ \1 D4 a  /*判断是否有redirect信息*/
5 W, W$ G! O6 E; c9 n# ~  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
$ o! ~* q9 x; r/ Y* R   if ($this->form_validation->run()) {                                // validation ok7 ~3 J+ w8 y' I+ n+ _! T/ |
  if ($this->tank_auth->login(2 T: E2 L2 T: A/ \8 W3 v
  $this->form_validation->set_value('login'),
6 y7 _( j: H; ?  $this->form_validation->set_value('password'),8 s+ z/ Y+ a6 [) Q+ l
  $this->form_validation->set_value('remember'),
8 n1 l: K( K% b* `7 k  $data['login_by_username'],3 c0 U+ X$ ?! W: b# p
  $data['login_by_email'])) {                                // success
: k# v7 v" ], j: K1 A  redirect($data['redirect']);, T9 f6 O% q% A9 ?7 ~8 U$ |3 L
  } else {& A9 K7 v- \. v6 _0 N5 D9 z9 D  i: o
  //error handling
: p5 R) ]) c6 U+ J& c
" e9 D3 L. ^6 W8 \$ P% }2 B                } - i5 d) n# d' {' e0 U
. }5 n6 r  h6 x. d5 K$ [
            }
& S% q7 b1 W5 ]: h) A+ L% m  $this->load->view("login_form")
  s/ a. ~7 g2 q8 u
$ K& ^1 a0 G1 P0 H        } - N% c- g0 n0 `2 o
7 J+ v0 G* h/ v( ^1 e5 M
    }
3 h: b* y5 n2 B6 u1 G! R
3 A/ _4 @8 E% _/* 4 Q8 U/ K2 h" h/ r
  Note: 在login_form中需要注意,提交表单的form地址:
. H1 m5 X/ K) N    W: E6 @: `8 {. F$ }# `4 W

2 |4 j( X+ |5 A( m*/
1 m% h3 I# ~! M& ~% ]# L, K
! I* f4 {+ q/ z1 D- P; M# O& N: n8 q}
3 V$ e- X" q! _4 _' P; P* J   在login_form中需要注意,提交表单的form地址:
6 P7 e/ E2 h7 x6 x   , P, F( ^. A: _1 Q. `
本文由外链代发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 日 12:23 , Processed in 0.075191 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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