首页 > 后端开发 > php教程 > Codeigniter处理用户登录验证后URL跳转的代码

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

WBOY
发布: 2016-07-25 09:07:13
原创
1169 人浏览过
  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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板