Codeigniter控制器没有加载视图以及错误消息

时间:2014-12-18 11:03:43

标签: php html css codeigniter

我只是使用Codeigniter作为框架为我的酒店制作一个简单的房间预订系统。在我的localhost中,控制器及其方法按预期工作,但是当我将文件上传到我的测试服务器时,我的一个控制器变得无法访问。它既不显示加载的视图页面也不显示错误。我试过像www.mydomain.com/testing/index.php/room_booking和www.mydomain.com/testing/index.php/room_booking/post_action这样的网址,但没有显示任何内容然后我尝试使用die( '我的代码没有被执行'),但它也没有打印出来。所以它让我发疯了,我过了一整天。

我的控制器如下:

header("Access-Control-Allow-Origin: *");
if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class room_booking extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->library('session');
        $this->load->model('dbmodel');
        $this->load->model('api_model');
        $this->load->model('dashboard_model');
        $this->load->model('booking_room');
        $this->load->helper('url');

        $this->load->helper(array('form', 'url'));
        $this->load->library("pagination");
    }

    public function index() {
        $this->load->view('template/header');
        $this->load->view('template/imageDiv');
        $this->load->view('template/reservation_template');
        //$this->load->view('login/test');
        $this->load->view('template/footer');
    }

    function post_action() {

        $this->load->helper('availableroom');
        die('here i used die function for test'); 
        if ($_POST) {

            $data['abc'] = array(
                'checkin' => $_POST['checkin'],
                'checkout' => $_POST['checkout'],
                'adult' => $_POST['adult'],
                'child' => $_POST['child'],
                'hotelId' => $_POST['hotelId'],
                'title' => $_POST['title']
            );

            $this->session->set_userdata($data['abc']);
            $hotel = $_POST['hotelId']; // form top it got hotel name       
            $hotels = $this->dashboard_model->get_hotel_id($hotel);
            if (!empty($hotels)) {
                foreach ($hotels as $hotelData) {
                    $hotelId = $hotelData->id;
                }
            } else {
                $hotelId = $_POST['hotelId'];
            }
            $data['query'] = $this->dashboard_model->booking_room($hotelId);
            $data['json'] = json_encode($data['query']);
            $this->load->view('ReservationInformation/room_booking', $data);
        } else {
            $this->load->view('ReservationInformation/room_booking_empty_view'); 
        }
    }
}

我在这里犯了什么错吗?在post_action方法中,我从ajax调用传递了一个值。我怎样才能在服务器中解决它?

2 个答案:

答案 0 :(得分:0)

控制器类名称应以Uppercase letter开头,因此room_booking应为Room_booking

在此处查看备注:https://ellislab.com/codeigniter/user-guide/general/controllers.html#what

答案 1 :(得分:0)

您的代码看起来是正确的。我想你可能忘了设置你的基本网址:

    // application/config/config.php
    $config['base_url'] = 'www.mydomain.com/testing';

这只是一个猜测(由于特权,没有将其作为评论发布)。