> 백엔드 개발 > PHP 튜토리얼 > Codeigniter는 사용자 로그인 확인 후 URL 점프 코드를 처리합니다.

Codeigniter는 사용자 로그인 확인 후 URL 점프 코드를 처리합니다.

WBOY
풀어 주다: 2016-07-25 09:07:13
원래의
1168명이 탐색했습니다.
  1. class MY_Controller extends CI_Controller
  2. {
  3. public function __construct()
  4. {
  5. parent::__construct();
  6. /*判断是否登录,判断当前URL是否是auth/login*/
  7. if ( ! $this->tank_auth->is_logged_in()
  8. && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login'))
  9. {
  10. $redirect = $this->uri->uri_string();
  11. if ( $_SERVER['QUERY_STRING'])
  12. {
  13. $redirect .= '?' . $_SERVER['QUERY_STRING'];
  14. }
  15. /*跳转到用户登陆页面,指定Login后跳转的URL*/
  16. redirect('auth/login?redirect='.$redirect);
  17. }
  18. }
  19. }
  20. ?>
复制代码

文件:User.php

  1. class User extends MY_Controller

  2. {
  3. function login()
  4. {

  5. if ($this->tank_auth->is_logged_in()) { // logged in

  6. redirect('/');

  7. } else {

  8. //other codes here......
  9. /*判断是否有redirect信息*/
  10. $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';

  11. if ($this->form_validation->run()) { // validation ok

  12. if ($this->tank_auth->login(
  13. $this->form_validation->set_value('login'),
  14. $this->form_validation->set_value('password'),
  15. $this->form_validation->set_value('remember'),
  16. $data['login_by_username'],
  17. $data['login_by_email'])) { // success
  18. redirect($data['redirect']);

  19. } else {

  20. //error handling
  21. }
  22. }
  23. $this->load->view("login_form")
  24. }
  25. }
  26. /*
  27. Note: 在login_form中需要注意,提交表单的form地址:
  28. */
  29. }?>

复制代码

在login_form中需要注意,提交表单的form地址:

复制代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿