一、使用友善網址
預設情況下,Codeigniter的網址長這樣:
example.com/index.php/news/article/my_article
設定友善網址之後,就變成這樣:
example.com/news/article/my_article
就是把多餘的index.php給拿掉了,Codeigniter本身提供快速簡潔的URL處理方式,設定步驟很簡單。
.htaccess
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt|img|css)
RewriteRule ^(.*)$ index.php/$1 [L]
※ 必須將放置靜態檔案(例如css/js/img等)的資料夾名稱加入RewriteCond設定,否則一律都丟給index.php處理就麻煩了。
application/config/config.php
$config['index_page'] = "";
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';
※ index_page的設定值空白,在使用Codeigniter的URL Helper系列function時,就會產生友善網址(其實就是少了index.php字串的輸出)。
二、取得GET資料
既然使用Codeigniter,當然就不必再用$_GET的傳統PHP寫法去抓網址列參數,Codeigniter的Controller提供一個簡潔的參數處理機制。
傳統的PHP可能這樣寫:
example.com/index.php?module=blog&action=article&id=123&type=json
使用Codeigniter之後,要開始習慣這樣做:
example.com/blog/article/123/json
而對應的Controller則是這樣寫:
class Blog extends Controller {
function article($id, $type = 'xml') {
...
在Controller的method可以自訂多個參數,Codeigniter會將網址包含的參數資料取出,依參數的位置順序傳遞給method處理。
所以,複雜的資料,例如表單提交的一大串代碼,就不適合用GET的方式傳遞。事實上由於URL有長度、編碼限制,本來就不適合傳遞又大又雜的資料,複雜的資料必須以POST方式處理。
三、取得POST資料
假設有一表單資料 <input name="field1" ... /> 送出,則使用以下語法接收。
$form_field1 = $this->input->post('field1');
若要防止XSS(Cross Site Script)攻擊,可以指定第二個參數為true,藉由Codeigniter提供的XSS Filter過濾不安全的代碼。
$form_field1 = $this->input->post('field1', true);
※ 附錄今天製作的一個網站雛型畫面,使用Codeigniter + PEAR::Text_Wiki_Mediawiki 開發,只寫四個PHP程式就完成一個內建Wiki語法引擎的動態網頁,即2個Controller + 2個View。網站的動態內容以Wiki語法儲存成TXT純文字檔案,並提供線上管理者編輯功能,導覽列的選單也即時由TXT檔案解析產生。
※ Codeigniter: http://codeigniter.com/
訂閱:
張貼留言 (Atom)
-
▼
2010
(72)
-
▼
8月
(15)
- HTC Desire Android 2.2 release! 官方已開放台灣地區更新
- the plurk-robodog project 噗浪機器狗專案
- 快快樂樂學Groovy使用jPlurk發送Plurk短訊
- [Note] Android Development with HTC Phone + Ubuntu...
- 快快樂樂學Groovy使用GMail發送電子郵件
- PHP網站快速開發筆記 - 使用Codeigniter (一)
- 使用 PEAR::Text_Wiki_Mediawiki 將Mediawiki標記文字轉為HTML代碼
- 快快樂樂學Groovy繪製圓餅圖 Pie Chart using Groovlet & jFreeC...
- 使用Apache Ant控制Tomcat6 Context Reload
- Blogger文章編輯器的HTML編碼工具(HTML Encode Button) Firefox ...
- Groovy 1.7 GroovyServer Pages的Servlet設定
- 技嘉過保固主機板免費換電容
- Windows環境執行Groovy/Groovlet/GSP的編碼問題
- 解決Tomcat 6.0的This is very likely to create a memor...
- 讓Eclipse支援Grails專案開發
-
▼
8月
(15)
請問下CodeIgniter 的數字分頁該如何寫
回覆刪除官方的 use_page_numbers 似乎好像怪怪的