亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

direktori cari
歡迎 目錄 快速參考圖 基本信息 服務器要求 許可協(xié)議 變更記錄 關于CodeIgniter 安裝 下載 CodeIgniter 安裝指導 從老版本升級 疑難解答 介紹 開始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應用程序流程圖 模型-視圖-控制器 架構(gòu)目標 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫 創(chuàng)建你自己的類庫 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴展框架的核心 自動裝載資源 公共函數(shù) URI 路由 錯誤處理 緩存 調(diào)試應用程序 以CLI方式運行 管理應用程序 處理多環(huán)境 PHP替代語法 安全 開發(fā)規(guī)范 類庫參考 基準測試類 日歷類 購物車類 配置類 Email 類 加密類 文件上傳類 表單驗證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語言類 裝載類 遷移類 輸出類 分頁類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測試類 URI 類 User-Agent 類 表單驗證 XML-RPC 和 XML-RPC 服務器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫類 Active Record 類 數(shù)據(jù)庫緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫配置 連接你的數(shù)據(jù)庫 數(shù)據(jù)庫快速入門例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫維護類 查詢輔助函數(shù) 數(shù)據(jù)庫類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務 數(shù)據(jù)庫工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
watak

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請 登錄 或 注冊  找回密碼
查看原文

教程 - 創(chuàng)建新聞條目

現(xiàn)在你已經(jīng)知道了怎樣用CodeIgniter從數(shù)據(jù)庫中讀取數(shù)據(jù),但還不知道怎樣往數(shù)據(jù)庫中寫入數(shù)據(jù)。在這一節(jié)中,你將學到通過怎么擴展之前寫過的新聞控制器和數(shù)據(jù)模型來實現(xiàn)這一功能。

創(chuàng)建一個表單

為了向數(shù)據(jù)庫里輸入數(shù)據(jù),你需要創(chuàng)建一個表單來輸入需要被存儲的信息。這就是說你需要一個帶兩個輸入域的表單,一個用來輸入標題,一個用來輸入內(nèi)容。另,你可以通過數(shù)據(jù)模型中的標題來取得slug。在 application/views/news/create.php 創(chuàng)建一個新的視圖。

這里只有兩個東西可能你不熟悉,一個是 form_open() 函數(shù),一個是 validation_errors() 函數(shù)。

第一個由 表單輔助函數(shù) 提供,用來提供表單元素和一些額外功能,例如添加隱藏的 安全類。第二個用來報告表單驗證中出現(xiàn)的錯誤信息。

回到新聞控制器,在這里你需要做兩件事,一件是檢查表單是否被提交了,另一件是檢查提交的數(shù)據(jù)是否能夠通過驗證規(guī)則。你需要用到 表單驗證 庫來做這些。

public function create()
{
  $this->load->helper('form');
  $this->load->library('form_validation');
  
  $data['title'] = 'Create a news item';
  
  $this->form_validation->set_rules('title', 'Title', 'required');
  $this->form_validation->set_rules('text', 'text', 'required');
  
  if ($this->form_validation->run() === FALSE)
  {
    $this->load->view('templates/header', $data);  
    $this->load->view('news/create');
    $this->load->view('templates/footer');
    
  }
  else
  {
    $this->news_model->set_news();
    $this->load->view('news/success');
  }
}

上面的代碼中添加了一些功能,前幾行載入了表單輔助函數(shù)和表單驗證庫,這樣,表單驗證的規(guī)則就被設定好了。 set_rules() 方法包含三個參數(shù),第一個是輸入域的名稱,第二個是錯誤信息的名稱,第三個是錯誤信息的規(guī)則——在這里的規(guī)則是輸入內(nèi)容的文本域必填。

正如上面所展示的,CodeIgniter擁有一個強大的表單驗證庫。你可以 從這里了解到這個庫的更多內(nèi)容。

繼續(xù),你會看到一個用來檢查表單驗證是否運行成功的條件。如果沒有成功,顯示表單,如果提交成功并且通過了驗證,則會調(diào)用數(shù)據(jù)模型。這之后會加載一個顯示成功信息的視圖。在這里 application/view/news/success.php 創(chuàng)建一個新的視圖用來顯示成功信息。

數(shù)據(jù)模型

現(xiàn)在只剩一件事要做了,那就是寫一個方法用來向數(shù)據(jù)庫中寫入數(shù)據(jù)。你將用到Acitve Record類來插入信息,并用到輸入類來獲得post數(shù)據(jù)。打開之前創(chuàng)建的數(shù)據(jù)模型加入下面的代碼:

public function set_news()
{
  $this->load->helper('url');
  
  $slug = url_title($this->input->post('title'), 'dash', TRUE);
  
  $data = array(
    'title' => $this->input->post('title'),
    'slug' => $slug,
    'text' => $this->input->post('text')
  );
  
  return $this->db->insert('news', $data);
}

這個新的方法是用來維護向數(shù)據(jù)庫插入新聞條目的。第三行包含了一個新的函數(shù)url_title()。這個函數(shù)是由 URL輔助函數(shù) 提供的,用來組織(strips down)你輸入的字符串,將空格的地方替換成橫線(-),確保其中全都是小寫字母。這樣之后剩下的就是一個漂亮的slug,可以很好地用來創(chuàng)建URI。

我們來繼續(xù)準備一會兒要向$data數(shù)組輸入的記錄。這里的每個元素都對應著早前創(chuàng)建的數(shù)據(jù)表中的每一列。你可能注意到了這里有個新的方法叫 post() ,它是由 輸入類提供的。這個方法可以確保數(shù)據(jù)是被過濾過(sanitized)的,從而保護你不被其他人惡意攻擊。這個輸入類是默認加載的。最后,就是將 $data 數(shù)組插入到我們的數(shù)據(jù)庫。

設置路由

在你向你的CI程序添加新聞條目之前,你還要向 config/routes.php 里添加一個額外的規(guī)則。確保你的文件包含下列代碼。這樣可以保證CodeIginter將“create”看做一個方法來正確顯示,而不是把它顯示成一個slug為“create”的新聞頁面。

$route['news/create'] = 'news/create';
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';

現(xiàn)在在你的瀏覽器輸入你本地CI程序的地址并在后面加上 index.php/news/create 。恭喜你,你剛剛完成了你的第一個CI程序!添加些新聞來看看其他你創(chuàng)造的其他頁面吧!

?

翻譯貢獻者: Hex, irini
最后修改: 2012-03-06 14:22:31
Artikel sebelumnya: Artikel seterusnya: