0

美好的一天互聯網。我正在使用codeigniter進行基本的cms工作。我已經建立了它,因此它顯示了我的數據庫中的數據。我的codeigniter站點停止從我的數據庫輸出數據

這裏是我的控制器代碼爲

class Site extends CI_Controller { 
public function index(){ 
    $this->home(); 
} 

public function home(){ 
    $this->load->model("model_get"); 
    $data["results"] = $this->model_get->getData("home"); 
    $this->load->view("site_header"); 
    $this->load->view("site_nav"); 
    $this->load->view("content_home", $data); 
    $this->load->view("site_footer"); 
} 

public function about(){ 
$this->load->model("model_get"); 
    $data["results"] = $this->model_get->getData("about"); 
    $this->load->view("site_header"); 
    $this->load->view("site_nav"); 
    $this->load->view("content_about", $data); 
    $this->load->view("site_footer"); 

} 

在這裏,前2頁是模型從數據庫

class Model_get extends CI_Model{ 
    function getData($page){ 
     $query = $this->db->get_where("pageData", array("page" => $page)); 
     return $query->result(); 
    } 
} 

這裏得到的數據是視圖輸出數據數據庫

<div id="content"> 
     <?php 

      foreach($results as $row){ 
       $title = $row->title; 
       $text1 = $row->text1; 
       $text2 = $row->text2;     
      } 

      echo heading($title, 1); 

     ?> 

     <p><?php echo $text1; ?></p> 
     <p><?php echo $text2; ?></p> 

它一直工作得很好,但我想用一個表單來更改數據庫中的數據。這裏是我的形式

<div id="content"> 
<?php 

    $this->load->helper("form"); 

    echo validation_errors(); 

    echo form_open("site/updatevalues"); 

    echo form_label("Heading", "title"); 

    $data = array(
       "name" => "title", 
       "id" => "title", 
       "value" => set_value("title"), 
       "style" => "width:100%", 
       "rows" => "rows:3" 
      ); 



    echo form_textarea($data); 


    echo form_label("Text 1", "text1"); 

    $data = array(
       "name" => "text1", 
       "id" => "text1", 
       "value" => set_value("text1"), 
       "style" => "width:100%", 
       "rows" => "rows:3"     
      ); 

    echo form_textarea($data); 

    echo form_label("Text 2: ", "text2"); 

    $data = array(
       "name" => "text2", 
       "id" => "text2", 
       "value" => set_value("text2"), 
       "style" => "width:100%", 
       "rows" => "rows:3" 
      ); 

    echo form_textarea($data); 

    echo form_submit("dataSubmit", "Submit"); 


    echo form_close(); 

?> 

這裏的視圖中的代碼是在我的控制器中的代碼段,其使用從上述觀點

public function updatevalues(){ 
     $this->load->library("form_validation"); 

     $this->form_validation->set_rules("title", "Heading", "required|xss_clean"); 
     $this->form_validation->set_rules("text1", "Text 1", "required|xss_clean"); 
     $this->form_validation->set_rules("text2", "Text 2", "required|xss_clean"); 

     if($this->form_validation->run() == FALSE){ 
      $data ["success"] = ""; 
      $this->load->view("site_header"); 
      $this->load->view("site_nav"); 
      $this->load->view("data_input", $data); 
      $this->load->view("site_footer"); 
     } else {  
      echo $data["success"] = "The page has been updated"; 
      $this->load->view("site_header"); 
      $this->load->view("site_nav"); 
      $this->load->view("data_input", $data); 
      $this->load->view("site_footer"); 

      $this->load->model("model_update"); 

      $newRow = array(
        "id" => "3", 
        "title" => set_value("title"), 
        "page" => "Contact Page", **<---This was the problem** 
        "text1" => set_value("text1"), 
        "text2" => set_value("text2") 
       ); 

      $this->model_update->update1($newRow); 


     } 

    } 

這裏的形式輸入的模型即處理更新數據庫中的數據,我只是使用這裏的第一個函數

class Model_update extends CI_Model{ 
    function update1($data){ 
    $this->db->update("pagedata", $data, "id = 3");  

    } 

    function update2($data){ 
    $this->db->update_batch("pagedata", $data, "id"); 
    } 

} 

所以經過幾天試圖找出這一點,我終於得到它來更新數據庫中的某些領域,理論上會更新視圖中的輸出,但現在它給了我這個錯誤消息: 遇到一個PHP錯誤

嚴重性:注意

消息:未定義變量:標題

文件名:視圖/ content_about.php

行號:10

這是給第對於我想要回顯的所有變量,都會出現錯誤。我沒有得到它,我沒有觸及要從數據庫中顯示的代碼,現在我終於可以通過一個表單來改變數據,這個變量突然變得沒有定義。如果任何人都可以幫助我,我將不勝感激。現在正在爲這個單一任務工作2周!

編輯:當我寫這篇文章的時候,我想出了這個問題,並且用箭頭標識了它。頁面數據必須是「約」,因爲這是foreach循環如何抓取數據。我可以不發佈這個,但也許這個代碼將幫助別人。採取你可以和享受互聯網,你剛剛目睹有人糾正自己,哈哈。

回答

0

更改這條線在站點控制器功能的家用:

從這:

$數據[ 「成果」] = $這個 - > model_get->的getData( 「家」);

向該:

$數據[ 「結果」] = $這個 - > model_get->的getData( 「主頁」);

我知道這是因爲您從Steven的YouTube教程中獲得了此信息。

+0

顯示一些更多細節。 – Parixit

相關問題