我试图检查用户在登录页面中是否有会话,如果他具有会话和角色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';
}
}
我尝试了很多方法来解决此重定向错误,但仍然找不到解决此问题的方法或我重定向的方法有误?
答案 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,它一直重定向到同一控制器,这就是为什么我收到该错误。