首頁 >後端開發 >php教程 >Codeigniter處理使用者登入驗證後URL跳轉的程式碼

Codeigniter處理使用者登入驗證後URL跳轉的程式碼

WBOY
WBOY原創
2016-07-25 09:07:131170瀏覽
  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地址:

复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn