Ошибка «страница не перенаправляется правильно» в codeigniter - PullRequest
0 голосов
/ 09 июля 2019

Я попытался проверить, есть ли у пользователя сеанс на странице входа в систему, есть ли у него сеанс и идентификатор роли, этот контроллер будет перенаправлять на определенный контроллер.но это дало мне ошибку "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 голосов
/ 09 июля 2019

я получил решение для этой ошибки

Мне нужно проверить сессию внутри моего индекса, нет необходимости проверять внутри __construct, он продолжает перенаправлять на тот же контроллер, поэтому я получил эту ошибку.

0 голосов
/ 09 июля 2019

конечно, есть ошибка в функции выхода из системы.

Попробуйте исправить это:

(до)

'<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>'
...