首页 > 解决方案 > 登录页面中的挂钩给出错误 localhost 将您重定向了太多次

问题描述

我收到错误 - localhost 将您重定向了太多次。in hooks 这是我在 hooks 中的代码。我无法解决这个问题,请帮助我并解释如何在 ci 中使用 hooks,我正在使用 post_controller_constructor

<?php
    class Example {  

        private $CI;

        function __construct()
        {
            $this->CI =& get_instance();

            if(!isset($this->CI->session)){  //Check if session lib is loaded or not
                  $this->CI->load->library('session');  //If not loaded, then load it here
            }

            //echo "class".$this->CI->router->class; die;

            if (  $this->CI->router->class  == 'student' )
            {
                return;
            }


        }

        public function check_login()  
        {
             echo $session_userdata = $this->CI->session->userdata('email');
             echo "session data".$session_userdata;
           //  die;
            if(empty($session_userdata)) {
                redirect("student/index");
            }
            else {
                echo "here";
            }
        }  
    }
    ?>

标签: codeigniter

解决方案


首先,如果您是第一次在 CodeIgniter 中使用钩子,请按照一些步骤操作。
Step1:启用钩子

可以在 application/config/config.php 文件中全局启用 hooks 功能

打开 config.php 文件执行以下替换

$config['enable_hooks'] = FALSE;

$config['enable_hooks'] = TRUE;

第二步:定义一个 Hook
Hooks 在 application/config/hooks.php 文件中定义。

$hook['post_controller'] = array(
        'class'    => 'firstHookFile',
        'function' => 'checkHook',
        'filename' => 'firstHookFile.php',
        'filepath' => 'hooks'
);

Step3:创建钩子文件
在应用程序/钩子中创建文件。

<?php
class firstHookFile
{
  public function checkHook()
  {
      // load the instance
      $this->CI =& get_instance();
      $this->CI->load->helper('uri');
      echo base_url();
      return;
  }
}
?>

此挂钩仅用于示例目的,此挂钩将返回您项目的基本 URL。

我希望您已经了解如何在 Codeigniter 中使用钩子。


推荐阅读