Php Codeigniter链接不存在';行不通

Php Codeigniter链接不存在';行不通,php,codeigniter,Php,Codeigniter,问题是,我正在将我的功能从一个控制器重定向到另一个控制器,我不知道为什么它没有重定向到那里,而是直接转到登录页面(RegistrationController)当我使用重定向功能时,但当我加载视图时,它就工作了 考虑以下代码段。我希望它被重定向到AdminController,但它没有被重定向到那里。我在AdminController中有一个视图 除此之外,该视图中的链接也不起作用,每当单击时,它们也会加载RegisterationController <?php class R

问题是,我正在将我的功能从一个控制器重定向到另一个控制器,我不知道为什么它没有重定向到那里,而是直接转到登录
页面(RegistrationController)
当我使用重定向功能时,但当我加载视图时,它就工作了

考虑以下代码段。我希望它被重定向到
AdminController
,但它没有被重定向到那里。我在
AdminController
中有一个视图

除此之外,该视图中的链接也不起作用,每当单击时,它们也会加载
RegisterationController

<?php

    class RegistrationController extends CI_Controller{
        function validate_credentials(){

        $username = $this->input->post('hotelEmail');
        $password = $this->input->post('hotelPassword');

        $this->load->model('AdminModel');
        $query = $this->AdminModel->validate($username, $password);

        if($query) // If the user's credentials validated . . .
        {
            $data = array(
                'hotel_email'   => $this->input->post('hotelEmail'),
                'hotel_id'  => true
                );
            $this->session->set_userdata($data);

            redirect('AdminController');
        }else{

            $this->session->set_flashdata('wrong_credentials', 'Wrong Username or Password!');
            $this->load->view('login'); 

        }

    }
?>

首先在控制器中加载会话或
autoload.php

public function __construct()
{
    parent::__construct();
    $this->load->library('session');
}
接下来,如果用户凭据正确,请调用
validate_credentials
创建会话

接下来,调用此函数:

public function checksession()
{
    print_r($this->session->userdata); 
}

您正在使用set\u userdata代替userdata

使用此代码

public function checkSession(){
    if(!$this->session->userdata('hotel_id')){
        redirect('RegistrationController/');
        exit();
    }
}

从checkSession()函数的set_userdata中删除set_,就可以开始了

我认为没有创建会话,只是回显打印($this->session->userdata)@谢谢你抽出时间。但是你能帮我检查一下会话是否被创建吗?@whoami给了我以下结果:Array([\uu ci\u last\u regenerate]=>1502471785[酒店电子邮件]=>a@z[酒店id]=>1)1@MoizArif是的,我做到了!你给你的控制器命名错误,第一个字母必须是大写文件和类名Moiz bro,你不知道我对你有多感激。我发誓。我真的欠你的债。很高兴听到这对你有帮助……:)有时它会发生,这正是正确的答案!!竖起大拇指you@NOONE
public function checkSession(){
    if(!$this->session->userdata('hotel_id')){
        redirect('RegistrationController/');
        exit();
    }
}