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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
2 F! o6 G, w: l+ f- R) _1 k- H  g! Q   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:, s- x$ b& g% F
  My_Controller.php
2 P* M+ A3 f5 z; y/ C7 Q+ ?8 N   class MY_Controller extends CI_Controller
" c* R+ `2 {0 ?8 y' G
& o' `: p: ^4 n" p$ Y: f{ & g, ?, B9 ]1 y5 [- M$ x
  public function __construct()/ ^. }) l# d1 F6 c& w
2 g: R: `  F- Q) }  C  N
    { 5 \# E  e3 _: i- h
  parent::__construct();
6 l& \8 u9 {& z) ~- Y/ M/ v  /*判断是否登录,判断当前URL是否是auth/login*/
# v+ ]" V4 B5 M* `. a  if ( ! $this->tank_auth->is_logged_in()+ m* g3 j1 Q. j) V/ C3 y4 K; r& o2 m
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))1 ?$ {, b; ~5 q& J' y1 Q

; ]; }# }* w. e2 v        { 6 b( K- l7 D5 p
  $redirect = $this->uri->uri_string();- f1 ?7 u: J  d  V/ h
  if ( $_SERVER['QUERY_STRING'])" f; y8 e" d( {$ g, _+ k

6 w! B: W7 u. `- y6 m, {            {
: N# T$ x0 K6 o! i# h& y  $redirect .= '?' . $_SERVER['QUERY_STRING'];
# N' |* X2 K) Q; m
/ N' j  Y+ {6 L6 M! R% k9 r/ p            }
' U1 x" ?( y, L% h0 ^  /*跳转到用户登陆页面,指定Login后跳转的URL*/
; q8 A% |( t$ U8 I0 z  redirect('auth/login?redirect='.$redirect);5 F! q5 N" j8 w. y

! I; m. G/ S  S& }        }   
( g4 N" n0 n# I5 K- s
/ F, e+ D% l- P, T    } 4 g. F9 h* P/ H- d# F

' L. t  J7 w0 m) E} ! H. H! t7 G$ L; ^/ Q6 A
  User.php
0 i. w. }; b4 d, N5 `* b5 [   class User extends MY_Controller3 m' r0 O& _7 I  L* s- Q
  _; r# E- z/ P( }$ J! p* W3 D
{
/ d" Y+ ^: y9 b8 N& b* G  function login()
  P( @2 O2 H; t: D8 q: I0 F( W* r( T+ |7 r5 W
    { 2 Y/ x4 B/ n( ~2 o+ t3 W) s, Y
  if ($this->tank_auth->is_logged_in()) {                                    // logged in0 T+ {, h% l1 s! ]: K& w6 l
  redirect('/');
6 G0 g# y- m0 ]. z0 X+ G* k) v   } else {
% W7 v# d0 g" \: D. v  //other codes here......
. [$ Y, c( {0 P2 @; p  /*判断是否有redirect信息*/* l4 G- ?6 G# K
  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
0 G5 ]# g# [! q" i   if ($this->form_validation->run()) {                                // validation ok
. a/ h7 f1 `& y, z% O  if ($this->tank_auth->login(
7 Y9 T, @! R4 B% [3 R  $this->form_validation->set_value('login'),
# {3 U2 K, I9 V* S" a1 _$ U+ I  $this->form_validation->set_value('password'),1 Q- f7 D% G$ O" C& ^. ]) t! H
  $this->form_validation->set_value('remember'),
  b' F% a4 P3 V( V, L  $data['login_by_username'],. g  Z; s& J$ q  Z) M. l5 ^: D
  $data['login_by_email'])) {                                // success: j* a* q5 \) s: E3 y4 {" h
  redirect($data['redirect']);; `9 C: B# a/ C" a
  } else {. O' i( h& F' v9 N5 ~. w
  //error handling
4 E  g1 g* t+ `% q1 R* ?
1 Q6 \5 ~3 F' b/ S# d                } : L, r& Q' T& ^$ Q: d0 j* ~4 q4 W

) B% d* `5 o; H2 w  |            } ! Q5 a& z% o  M' I/ k8 t
  $this->load->view("login_form")
) c  n. P; m" V6 v. I/ z
. g4 w0 v2 E6 B* z% K9 Y& z+ P        }
6 w  b8 J: z# j! d3 g. }7 d+ D; x. \* _/ k3 _* R
    }
3 ?8 W- A' p, \7 A) A; e) Z, s/ W7 ~$ [. @- f# m. M
/* 3 z. b# G* Q( f8 r3 B* H) N1 U
  Note: 在login_form中需要注意,提交表单的form地址:
7 \1 k5 F  V( \8 ^  
% S# A4 [" U# D' A. C7 r% A3 f: T2 {& i" e% v
*/
4 @2 A: J7 G6 g" }- [; a; g0 s1 c
' h  o3 s/ [* y' H" l2 u" e8 d- s}
" @2 C: Y- U$ v3 k! A. t, l8 `! h   在login_form中需要注意,提交表单的form地址:
& A  u% `. X7 D5 y  r. u, h   
  i# E" r' B( `) _本文由外链代发http://t.qq.com/wailiandf整理
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025 年 7 月 22 日 16:47 , Processed in 0.083342 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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