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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
  y2 Y, c- R$ }7 J. h0 m* ^5 E   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
6 R* c! b- [/ e1 Y# ^: U! e   My_Controller.php . }0 I( j1 d+ \0 F4 s3 h) o8 d
  class MY_Controller extends CI_Controller
% j  c5 O2 [3 f& _3 Q/ U8 T" U* @& F1 p; g2 `1 F
{ 9 g, E9 ?; ~; I. _
  public function __construct()
8 [$ k* {- A/ u0 Z/ q
8 X% Q0 p  H5 ^6 h    {
# e6 \$ X3 A7 \$ w  q9 y" M  parent::__construct();
( m& V0 K  c& `. Q2 y  /*判断是否登录,判断当前URL是否是auth/login*/! Q+ |$ z  i& C% x
  if ( ! $this->tank_auth->is_logged_in()8 E7 y0 ]9 T4 g( u0 @
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login')); |: W$ {, A" @: N3 u  R5 x

/ K- t% _. ]- R. j/ _! }+ z        { + D2 W0 p; O* Z% y3 u
  $redirect = $this->uri->uri_string();" `7 \+ U0 i& p  g2 h
  if ( $_SERVER['QUERY_STRING'])
" `0 o5 H' F5 A/ F: c
; Q0 a9 T1 L1 n! X            {
" M2 X& ?5 {3 F( ^" R  $redirect .= '?' . $_SERVER['QUERY_STRING'];! S# L9 [/ ^/ ]1 A. ~; b6 Y7 o
' J; M1 c9 [* [% m" r/ F9 {7 s2 C
            }
4 B. v" C' G# m9 t* f  /*跳转到用户登陆页面,指定Login后跳转的URL*/3 O+ [$ [0 e$ i! P  B. b
  redirect('auth/login?redirect='.$redirect);4 ?% `8 |( d9 ^( L; y! }
  ~0 N5 b. W4 e5 t' Q* m. b9 T
        }   
' Z; c" {# q; z0 x7 y* Y
- f; v8 V; l# e9 i1 I1 e5 ]2 c    } ) @( H7 C( x' s5 y
7 t2 `' B1 ]  z0 W# o
} # t2 o$ G. R3 |' K  e" P
  User.php 3 s' k' J+ F0 z
  class User extends MY_Controller
, p% e' j+ Q' f; y0 ~& c' f6 H3 D& J
7 R" R2 u7 ~# I% V1 x{ ; S3 Z; K" _! z; j, G
  function login()
- S: w' H3 \  u& ~* ?
$ E/ c4 f0 d& F2 p    {
- X5 B8 B: V# P; K3 S  l   if ($this->tank_auth->is_logged_in()) {                                    // logged in; V5 G; m" _  Q
  redirect('/');. _/ w( S! [- K  `
  } else {
  k: y9 d$ `) k  //other codes here......
- i8 G5 H# k  `% I2 I  /*判断是否有redirect信息*/
6 I" l% x' N* V) J# E, ^; H5 M  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';9 C4 f) K" @% @9 E, k
  if ($this->form_validation->run()) {                                // validation ok
( }1 I! C- C6 `" L- S6 k1 S. G  if ($this->tank_auth->login(% m0 V& G8 n/ M
  $this->form_validation->set_value('login'),
) U9 J, }; z- ?% e; o5 ^  $this->form_validation->set_value('password'),
% ^& z' g3 R9 |; {/ d  $this->form_validation->set_value('remember'),1 o% {) u5 w0 c
  $data['login_by_username'],
( A8 J+ d/ v* l/ c; ~9 k$ B  $data['login_by_email'])) {                                // success
: I8 z( ]- D3 L/ p3 f5 m% X, l/ H2 |  redirect($data['redirect']);8 X) w: ^9 `5 n# S4 ?
  } else {
- s  p  P+ |" q5 x9 m% i  //error handling
% G, q# Y. Y; C- Z6 A7 v( e6 W8 o9 D) ^7 W6 O0 u& _* _8 z0 N
                }
5 d$ B% g( g: S
& p6 S; n( @* j8 J            } 2 y% \* [9 X; }& ?  c: B: F
  $this->load->view("login_form")
( \' f8 C+ b0 _1 W9 [% s2 \& S7 e' ]  a  |0 _. V0 f
        }
6 [' ]2 W3 S1 _- p
6 l% p  D3 L5 {# Q. R    } & n( e: u6 r1 a, ]! T2 T- K

" h( O- ?' ], s/*
, y8 [: C: N  V0 M& b" l  Note: 在login_form中需要注意,提交表单的form地址:) m7 c9 [) R; o+ F
  
, d( Y; W* r: \8 Y* n8 }" J+ E, v4 K$ F& Y9 p/ A- }- T
*/
8 {8 S$ @$ T! v5 a( a) U3 d% U( z1 G$ X
}
  ^5 q* y7 ?3 A- j6 W& @2 |, Z, R   在login_form中需要注意,提交表单的form地址:
$ N6 Z8 u. S2 L0 X/ B& e   
% l1 e# I0 s* _本文由外链代发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 月 29 日 07:08 , Processed in 0.080391 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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