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

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

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

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

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

×
        Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
  y4 r" i5 k$ R, v( |( z   Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:8 g$ {9 O1 |% j6 F
  My_Controller.php
  B, C+ E6 `, |0 o   class MY_Controller extends CI_Controller6 A2 m" E, G- o

# ^5 a" I5 k3 ^! T- z+ Z/ r7 e{ # Z: y% Y& M& i; O4 Z- Y5 e
  public function __construct(); `# p. G. @& a/ b

0 u7 S! q6 N2 z' T2 _$ u    {
3 G5 a+ Q; S& P, P) \* g# \7 H- ]  parent::__construct();! P9 V+ ?: v2 i! X6 I; P
  /*判断是否登录,判断当前URL是否是auth/login*/( Q& V8 j' ^1 y1 N4 r; S
  if ( ! $this->tank_auth->is_logged_in()+ L! e2 o% _) }$ R+ O; f/ }+ L
  && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))$ Q: X% r4 F3 d# j5 X8 L& d

" e1 q" o% Q4 [( y        {
* }7 \: j+ ^5 }% g2 W  $redirect = $this->uri->uri_string();
0 W  b+ d$ N+ |  I$ _) O+ z9 `  if ( $_SERVER['QUERY_STRING'])
+ t3 ?; E4 s1 l8 {' a* P0 M: `. x5 d/ H' g
            { # b2 _+ ~( j3 {, X9 b
  $redirect .= '?' . $_SERVER['QUERY_STRING'];& ^) }% F3 q' J/ }, t1 w
9 I  g8 D; |+ S, h# H& T2 U. L
            }
( @2 q% E3 X* F; G) h; _3 n4 t  /*跳转到用户登陆页面,指定Login后跳转的URL*/" R( T' x7 P$ o5 j5 }
  redirect('auth/login?redirect='.$redirect);
$ i' P& D2 o4 k  G2 s
. x# ^2 c, V/ C6 j, a/ r$ Q, O( q  ^        }   
$ f. U/ Y8 J' S5 }/ ^
+ k" [( H' C+ F0 I# l- ]# `    } 1 A) x" O4 n* h; _7 |& P+ Y5 }

; B7 ^& J$ x" }  b# p6 w} - G% V; B; q* c& \) z% f
  User.php 8 M: F6 i/ i5 g
  class User extends MY_Controller
7 v" J, U: \  q. |$ M2 B. t+ `* z
{
2 |0 b3 V( Z- d# p8 g$ h$ C  function login()
! L# i( A. l( Y, h9 G( m; s% C! {- |2 s4 X3 x- l6 s
    { 6 g5 o* V; t' i# U* W6 e9 s
  if ($this->tank_auth->is_logged_in()) {                                    // logged in
. B" y5 \8 e  F7 M" ?, R2 C% I5 S. p  redirect('/');2 t$ t$ S) ~. A! f) K. d; n
  } else {
- j! x* G. A. X5 I7 ]$ K/ o  //other codes here......
/ X# x* x7 f' V( a' E  /*判断是否有redirect信息*/
; A* Z# S9 E/ g4 E6 t; @' S  $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
0 v  i! u! M( q9 A/ Z8 Z' h! A% |   if ($this->form_validation->run()) {                                // validation ok6 |9 T$ i0 y( K6 [
  if ($this->tank_auth->login(
  C7 B9 K& W' T, e$ y$ N  $this->form_validation->set_value('login'),4 a& V/ {5 P3 O4 ?
  $this->form_validation->set_value('password'),4 ]4 J1 \' J& g: @
  $this->form_validation->set_value('remember'),* B3 j& R9 N! r8 X
  $data['login_by_username'],$ {% X9 \8 |! o8 i2 ^& q- C
  $data['login_by_email'])) {                                // success5 Q* u) }+ Z, E4 {3 {" s9 {
  redirect($data['redirect']);' B" u" z# _9 \+ d/ T
  } else {
9 W4 S6 J' q" H( {- W/ j  //error handling
. j$ l  K2 d& p- }$ V/ \1 `  k- h' w- G5 ], a! \
                }
3 J) `, ^0 y9 w) V. h# f
9 \0 Z, R' p" y  z            } 2 Z: u4 {6 a0 W
  $this->load->view("login_form")
8 J7 D" m0 s' g/ A- o; B) D# L! O/ N4 S( ^0 L
        }
% V5 i5 S0 ]& s, Q4 l
/ h1 N: j1 U6 ]( i& o    }
8 o0 b  L! ^/ f- f! Y, o$ @6 x. Q( Y
8 O! z2 E3 L7 K1 [# K3 {9 I/ g( }/* 2 X, h: R" P. P6 ~; t' b. l
  Note: 在login_form中需要注意,提交表单的form地址:+ G: E1 M2 U3 q. v" L
  % w* M; g: h( C  R4 B0 `

2 d) Q# l5 }7 X3 A2 d- P' O*/
+ g8 O- C+ M! D# x8 [) l* R
9 V7 u- `' H5 R3 J: m! Y8 N0 A# d" }} / F& b: f& o6 s; {+ B1 h6 k
  在login_form中需要注意,提交表单的form地址:
' K- b! p9 q$ R3 L6 M. a- W   " ?" I6 ?7 `* |  ~5 o
本文由外链代发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 月 16 日 06:44 , Processed in 0.124197 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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