我的代码部分导致整个页面加载白色,没有错误消息。
我已经对我的代码进行了调试,以下部分导致了我的问题,但我找不到原因:
问题代码:
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
答案 0 :(得分:1)
假设它与此无关:
} //END function index()
}
你确认你没有压制错误吗?你的错误日志说了什么?
答案 1 :(得分:1)
在您的控制器中$this->image_model
是Image_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
}