PHP白页控制器问题

时间:2011-07-03 05:32:24

标签: php sql oop codeigniter

我的代码部分导致整个页面加载白色,没有错误消息。

我已经对我的代码进行了调试,以下部分导致了我的问题,但我找不到原因:

问题代码:

        if($this->image_model->updatePage($id, $caption)) {
                        $data['title'] = 'Image Captions';
                        $data['cms_pages'] = $this->navigation_model->getCMSPages();
                        $data['sales_pages'] = $this->sales_model->getSalesPages();
                        $data['get_images'] = $this->image_model->getImages();
                        $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE); #Loads the "content"
                        $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it    

                        }//END if updatePage

完整控制器文档:

function index(){

    if(!$this->session->userdata('logged_in'))redirect('admin/home');

        $data['title'] = 'Image Captions';
        $data['cms_pages'] = $this->navigation_model->getCMSPages();
        $data['sales_pages'] = $this->sales_model->getSalesPages();
        $data['get_images'] = $this->image_model->getImages();
        $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE); #Loads the "content"
        $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it

    if ($this->input->post('submit')){

                #The User has submitted updates, lets begin!

                #Set The validation Rules   
                $this->form_validation->set_rules('captionInput', 'Caption', 'trim|required|xss_clean');

                    if ($this->form_validation->run() == FALSE){ #Form Validation Fails Load The Default Page

                    $data['title'] = 'Image Captions';
                    $data['cms_pages'] = $this->navigation_model->getCMSPages();
                    $data['sales_pages'] = $this->sales_model->getSalesPages();
                    $data['get_images'] = $this->image_model->getImages();
                    $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE); #Loads the "content"
                    $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it

                }// END Form Validation 

                #Form Validation passed, so lets continue updating.
                #lets set some variables to pass into the database for editing.

                    $caption = $this->input->post('captionInput', TRUE);
                    $this->db->escape($caption); # Lets check for security and mel objects :)

                #Now if imageCaption fails to update the database then show "there was a problem".

                    if($this->image_model->updatePage($id, $caption)) {
                        $data['title'] = 'Image Captions';
                        $data['cms_pages'] = $this->navigation_model->getCMSPages();
                        $data['sales_pages'] = $this->sales_model->getSalesPages();
                        $data['get_images'] = $this->image_model->getImages();
                        $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE); #Loads the "content"
                        $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it    

                        }//END if updatePage
                    }else{
                        $data['title'] = 'Image Captions';
                        $data['cms_pages'] = $this->navigation_model->getCMSPages();
                        $data['sales_pages'] = $this->sales_model->getSalesPages();
                        $data['get_images'] = $this->image_model->getImages();
                        $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE); #Loads the "content"
                        $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it

    } //END Submit 

} //END function index()

}

图片模型:

class Image_model extends CI_Model
{

function __construct() {
        parent::__construct();
}

function getImages($path = NULL) {
foreach($this->db->get('images')->result_array() as $r) {

    $rows[] = $r;
}

return $rows;
}

function addImage($imgdata) {
    $this->db->insert('images',$imgdata);
    return;
}

function deleteimage($id){

    $this->db->where('id', $id);
    $q = $this->db->get('images');
    $row = $q->row_array();

    if ($q->num_rows() > 0){
        //delete from the database
        $this->db->where('id', $id); 
        $this->db->delete('images');

        //lets delete the image
        unlink("includes/uploads/gallery/".$row['imagename']);
        //lets delete the thumb.
        unlink("includes/uploads/gallery/thumbs/".$row['thumbname']);
    }//END if num_rows
}//END function deleteImage($id)

function updateCaption($id = NULL, $caption = NULL){
    #set the $data passed to the function into an array, content being the column name.
    $data = array('description' => $caption);

    $this ->db->where('id',$id);
    $this->db->update('images', $data);

    return TRUE;
}

}//END class Image_model

3 个答案:

答案 0 :(得分:1)

假设它与此无关:

} //END function index()

}

你确认你没有压制错误吗?你的错误日志说了什么?

答案 1 :(得分:1)

在您的控制器中$this->image_modelImage_Model班级的实例?如果是这样,在您发布的模型中,似乎没有updatePage()方法。

答案 2 :(得分:0)

在您的控制器文档中,最后有这段代码,删除 else 关键字之前的额外}

if($this->image_model->updatePage($id, $caption)) {
                    $data['title'] = 'Image Captions';
                    $data['cms_pages'] = $this->navigation_model->getCMSPages();
                    $data['sales_pages'] = $this->sales_model->getSalesPages();
                    $data['get_images'] = $this->image_model->getImages();
                    $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE); #Loads the "content"
                    $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it    

                    }/*END if updatePage*/
                }else{
                    $data['title'] = 'Image Captions';
                    $data['cms_pages'] = $this->navigation_model->getCMSPages();
                    $data['sales_pages'] = $this->sales_model->getSalesPages();
                    $data['get_images'] = $this->image_model->getImages();
                    $data['content'] = $this->load->view('admin/imagecaption', $data, TRUE);   #Loads the "content"
                    $this->load->view('admintemplate', $data); #Loads the given template and passes the $data['content'] into it 
                }