簡體   English   中英

找不到其他控制器的CodeIgniter 404頁面

[英]CodeIgniter 404 Page Not Found with another controller

首先,我要為我的英語致歉,=)。 我正在制作一個Web應用程序,但是將程序流重定向到另一個Controllador時,出現此錯誤:“找不到404頁”。 我在其他帖子中已經讀過,這些類和文件大寫,但可能不是。 提前致謝。

這是使用“重定向”調用“活動”的主控制器(身份驗證控制器):

class Auth extends CI_Controller {
public function __construct() {
    parent::__construct();
}

public function index() {
    redirect('auth/login');
}

public function login() {

    if (!$this->input->post())
    {
        $this->load->view('templates/main_template', array(
            'title' => 'Login',
            'header' => $this->load->view('templates/header', null, TRUE),
            'content' => $this->load->view('pages/login', null, TRUE),
            'footer' => $this->load->view('templates/footer', null, TRUE)
        ));
        return;
    }

    $this->form_validation->set_rules('useremail', 'Useremail', 'trim|required|xss_clean'); // trim: quita espacios; required: campo requerido; xss_clean: elimina posibles inyecciones sql; callback_user_auth: otras funciones y llamadas, en este caso llamada a funciónq que autentifica al usuario
    $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_user_auth'); // |callback_user_auth
    if ($this->form_validation->run() == FALSE)
    {
        // LOGIN VIEW (home)
        $this->load->view('templates/main_template', array(
            'title' => 'Login',
            'header' => $this->load->view('templates/header', null, TRUE),
            'content' => $this->load->view('pages/login', null, TRUE),
            'footer' => $this->load->view('templates/footer', null, TRUE)
        ));;

    } else {

        redirect('activity/list_actividades');
    }
} 

public function user_auth($password) { 
    $useremail = $this->input->post('useremail');
    $user = $this->User_model->authenticate($useremail, $password);

    if ($user)
    {
        // valid user, set session data
        $this->session->logged_in = array(
            'useremail' => $user->email,
            'username' => $user->name,
            'group' => $user->group // CAMBIO EN LA BASE DE DATOS 
        ); // GROUP POR ADMIN. DEPENDIENDO DEL GRUPO SE TIENEN UNOS PERMISOS U OTROS


        return TRUE;
    }
    $this->form_validation->set_message('user_auth', 'Invalid username or password');

    return FALSE;
}

public function logout() {
    unset($_SESSION['logged_in']);
    redirect('auth/login');
}

活動控制器:

class Activity extends CI_Controller {
public function __construct() {
    parent::__construct();
    // check for the session here... in theory
}

public function index() {
    redirect('auth/login');
}

public function list_actividades () {

    $this->load->model('Activity_model');
    $data['actividades'] = $this->Activity_model->getAll();
    $data['grupo_usuario'] = $this->session->logged_in['group'];

    $this->load->view('templates/main_template', array(
        'title' => 'Lista de Actividades',
        'header' => $this->load->view('templates/header', null, TRUE),
        'content' => $this->load->view('templates/lista_actividades', $data, TRUE),
        'footer' => $this->load->view('templates/footer', null, TRUE)
    ));
}

您的函數list_actividades中有一個* /,CodeIgniter可能會忽略該錯誤,但由於該錯誤而無法讀取該類,從而導致404

好的,最后是當您使用授權鈎子時,必須在acl.php文件中注冊授權地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM