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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:% m) T3 b, ]- d) R7 X* y
  Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:( Y. }5 V3 I' W7 i! y5 _
  My_Controller.php - b8 m: F# `+ t* M8 l: A
  class MY_Controller extends CI_Controller7 n' z' ^# t+ }6 O1 g% r
0 e( q4 O; I' {$ o
{ , O. K% w) o6 _9 Y) [- p, _) c' G
  public function __construct()
* s) T( U4 F  m7 X* U4 I1 N% ?4 ~5 T* A$ X# W8 P6 b
    { # E, E0 f, Y" \9 H7 R, P( d
  parent::__construct();
9 p7 c- l7 H8 c2 v' `- {( l1 g  /*判断是否登录,判断当前URL是否是auth/login*/. ?8 T6 q& A, C/ i! H
  if ( ! $this->tank_auth->is_logged_in()8 d' N( c7 s$ }0 T
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))/ _5 y/ X! O$ r2 W% D1 U

! p, \, r. H+ D! S        { $ e' l- j  F% y' }0 q
  $redirect = $this->uri->uri_string();6 T2 M# h3 l. i9 L; W  e  p
  if ( $_SERVER['QUERY_STRING'])* E" X/ D" I( J! A( V4 Z
/ I1 C7 _$ X. U
            {
: g+ K( P9 p2 w! k  $redirect .= '?' . $_SERVER['QUERY_STRING'];
( c* c, v7 K. d' P( D0 @% @5 I) z
3 D% T2 s8 u0 s8 J            } ) U+ `5 ?6 B/ i0 R
  /*跳转到用户登陆页面,指定Login后跳转的URL*/  z( C# w, s' K1 S
  redirect('auth/login?redirect='.$redirect);
, x) U3 X+ N+ X' W* X/ F4 \8 t8 H. s9 d# I
        }    % O  R9 b8 c+ W5 k+ W0 _8 ]( y

1 [$ x' j; \3 @$ h/ L% v0 g    }
2 E6 D6 q" P* e0 \# F0 K/ W
3 c) M; r& |7 J' b# L}
  n+ D3 }" A) c: l1 B, z( X4 u   User.php
, v, |- I: |7 h   class User extends MY_Controller
8 p0 D9 \2 C; r% D$ K- h$ L6 |6 S' z2 B
{ 8 N4 j1 p' B2 h6 @( c
  function login()2 h3 I5 A4 i8 W) U
& u. y3 }; l# a6 {6 m2 p
    { + N4 L) y5 r$ [- r  ~$ o
  if ($this->tank_auth->is_logged_in()) {                                    // logged in. A+ P& R: V; t7 i) L& ~: Z
  redirect('/');. ^" r) ?4 D$ q' K3 ^
  } else {
4 o3 E: d: u2 v  //other codes here......
, q; B8 ^' A7 l0 ~. ~  j  /*判断是否有redirect信息*/0 [3 e' `. P# |2 W9 T
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';: p2 a. _. b0 ]; b+ x, o1 P
  if ($this->form_validation->run()) {                                // validation ok
, s6 }3 T" l5 _. y7 y- y! ?9 a  if ($this->tank_auth->login(6 o; V4 g& i/ B8 w
  $this->form_validation->set_value('login'),
4 g  S: b5 u# d  ]  $this->form_validation->set_value('password'),* |0 H4 @3 E4 G
  $this->form_validation->set_value('remember'),$ O7 G  c+ m; `" W( w
  $data['login_by_username'],
, u% M3 N* X6 H$ m2 v  $data['login_by_email'])) {                                // success* z$ ^5 c* F  D9 N+ U
  redirect($data['redirect']);8 k; E. M% n/ ?0 x6 ^3 m, H
  } else {; ]& j! s; D; g: K% Z
  //error handling
. }& h4 q; S0 j5 T7 n: G  R, z5 Q0 @3 F6 k  e5 F+ b5 U9 J
                } % g2 i4 D! ~! l# G: ]( Y! M# L
6 I  t7 \* U2 \7 Y
            }
1 S' z- T( a+ E# M! u3 M) B; g4 B  $this->load->view("login_form")
2 z) {# _7 x; T8 Z) {+ h: v, r' {* m. ~8 @
        } ; @' W8 N: f6 O! P) ?

1 q3 N7 G- @: E( ?    } ' n7 g+ ~; ~; v* N4 G' g  r
- _! \: g3 y& ?% e4 d9 _3 Z
/* 4 ~4 }0 W  N; a6 [( _3 A( y
  Note: 在login_form中需要注意,提交表单的form地址:
3 l4 E$ i1 j) r" I+ K: y  / s7 M+ A5 E& f
1 z- Q7 z: q1 e# c. F
*/ ' \' |; l* ^# E& \6 W

/ P4 o( I) ?6 C+ a}
0 m" J7 r7 Y/ ]6 t; H   在login_form中需要注意,提交表单的form地址:: Q, x0 ?1 n3 u" Q, L
  7 m+ b( S+ i/ {2 ~# x- [/ `' ]+ ~
本文由外链代发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 月 19 日 23:21 , Processed in 0.135086 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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