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();
}
}