Codeigniter中的“页面无法正确重定向”错误

时间:2019-07-08 23:24:59

标签: php controller codeigniter-3

我试图检查用户在登录页面中是否有会话,如果他具有会话和角色ID,则此控制器将重定向到某些控制器。但它却给了我错误"The page isn’t redirecting properly"。 这是我的代码

<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Auth extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        if (!$this->session->userdata('username') == null) {
            if ($this->session->userdata('role_id') == 1) {
                redirect(base_url('back/admin'));
            } else {
                redirect(base_url('back/user'));
            }
        } else {
            redirect(base_url('back/auth'));
        }
    }

    public function index()
    {
        $data = ['title' => 'Log-in page'];

        $this->form_validation->set_rules('un', 'Username', 'required|trim');
        $this->form_validation->set_rules('pw', 'Password', 'required|trim');

        if ($this->form_validation->run() == false) {
            $this->load->view('back/login', $data);
        } else { }
    }

    public function logout()
    {
        $this->session->unset_userdata('username');
        $this->session->unset_userdata('role_id');
        $this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">you\'re session has been deleted</div>');

        redirect(base_url('back/auth'));
    }

    public function errorp()
    {
        // $this->load->view('back/error');
        echo 'not authorized';
    }
}

我尝试了很多方法来解决此重定向错误,但仍然找不到解决此问题的方法或我重定向的方法有误?

2 个答案:

答案 0 :(得分:0)

肯定是注销功能出错。

尝试修复它:

(之前)

'<div class="alert alert-success" role="alert">you're session has been deleted</div>'

(之后)

'<div class="alert alert-success" role="alert">you\'re session has been deleted</div>'

答案 1 :(得分:0)

我找到了解决此错误的方法

我需要检查索引中的会话,而无需检查__construct,它一直重定向到同一控制器,这就是为什么我收到该错误。