【问题标题】:Redirect error in codeIgnitercodeIgniter 中的重定向错误
【发布时间】:2012-02-06 08:19:37
【问题描述】:

我正在尝试代码

function validate(){
        $this->load->library('session');
        $this->load->model('inventory/inventoryModel');
        $result = $this->inventoryModel->validateUser();
        if($result == 1){
            $data = array(
                'username' => $this->input->post('username'),
                'is_loged_in' => TRUE 
            );
            $this->session->set_userdata($data);
        }
        else{
            $this->index();
            redirect('inventory/validate');
        }
    }

并在 chrome 中收到错误“此网页有重定向循环” 什么是解决方案?

【问题讨论】:

  • 解决方法是从你的代码中删除redirect('inventory/validate');
  • 验证失败 -> 重定向到验证 -> 验证在相同条件下失败 -> 重定向到验证...冲洗并重复

标签: php codeigniter redirect codeigniter-url


【解决方案1】:

你有

$this->index() 

这可能试图加载函数中提到的视图。

重定向导致再次加载不同的功能。

解决这个问题。无法给出确切的解决方案,因为这不是整个代码。

【讨论】:

    【解决方案2】:

    试试这个:

    function validate(){
            $this->load->library('session');
            $this->load->model('inventory/inventoryModel');
            $result = $this->inventoryModel->validateUser();
            if($result == 1){
                $data = array(
                    'username' => $this->input->post('username'),
                    'is_loged_in' => TRUE 
                );
                $this->session->set_userdata($data);
            }
            else{
                $this->index();
            }
        }
    

    【讨论】:

      【解决方案3】:

      您可能也会在索引函数中调用验证函数。也许您需要添加一些逻辑,以便仅在不在索引中时运行验证。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-05-09
        • 2013-05-05
        • 2016-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-24
        相关资源
        最近更新 更多