美好的一天互聯網。我正在使用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循環如何抓取數據。我可以不發佈這個,但也許這個代碼將幫助別人。採取你可以和享受互聯網,你剛剛目睹有人糾正自己,哈哈。
顯示一些更多細節。 – Parixit