Heim >Backend-Entwicklung >PHP-Tutorial >Codeigniter处理用户登录验证后URL跳转的代码

Codeigniter处理用户登录验证后URL跳转的代码

WBOY
WBOYOriginal
2016-07-25 09:07:131172Durchsuche
  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地址:

复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn