轉載自 http://asper.pixnet.net/blog/post/25729866 如有侵犯著作權,煩請告知
--------------------------------------------------------------------------------------------------
CI的文件看的差不多了,該來實際寫一個網站才能知道自己懂多少
於是設定寫一個活動報名網站,功能很簡單
首頁是所有活動列表,進去後使用者可以報名參加
藉此可以練習FORM與資料處理的功能
管理者可以到後台新增活動,檢視報名資料,製作表單等
功能很簡單,但已經囊括大部分PHP常用功能,也可與我之前開發經驗做對比
引言就到這,開始準備設定值
===========================
- 裝好Appserv (Apache + PHP + Mysql + phpmyadmin)
由於是開發環境,直接用整合包比較方便; 使用2.5.10版本 - 下載CodeIgnitor,目前版本為1.7.2
- 解壓縮檔案到\www\ci,結構應為
www\ci\
system\
user_guide\
index.php
license.txt
其中user_guide可以刪除 - 移除index.php,
如果不喜歡網址出現index.php (ex:http://127.0.0.1/ci/index.php/signup/index/),可作以下設定移除。 - 新增.htaccess檔案,內容如下
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php/$1 [L]
大致意思是,如 果網址有index.php就跳過,其餘都改寫成index.php/網址接的東西,這樣講聽的懂才有鬼
http://127.0.0.1/ci/index.php/signup => 有index.php,跳過
http://127.0.0.1/ci/signup => 改寫為 http://127.0.0.1/ci/index.php/signup - 修改config,檔案在www\ci\system\application\config\config.php
$config['base_url'] = "http://127.0.0.1/ci/"; //原本是$config['base_url'] = "http://www.example.com/";
用意讓CI知道你網址是啥,內容的連結都會自己加上這串基底網址
$config['index_page'] = ""; //原本是$config['index_page'] = "index.php";
也是產生連結的基底。如果要連結到signup
原本設定會產生http://127.0.0.1/ci/index.php/signup
改為空值會產生http://127.0.0.1/ci/signup
網址看起來比較乾淨 ( 我以前是用 index.php?op=signup ),且容易被搜尋引擎搜尋到。 - 如果打開網頁出現錯誤,請修改Apache Config 開啟mod rewrite功能
Apperv\Apache2.2\conf\http.conf
#LoadModule rewrite_module modules/mod_rewrite.so //把#字號移除 - 接下來要設定DB,修改Application\config\database.php
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "signup";
$db['default']['password'] = "123456";
$db['default']['database'] = "signup";
$db['default']['dbdriver'] = "mysql";
這邊是測試,所以密碼非常不嚴謹XDD - 建立DB: signup 與table: event, joiner
event 記錄活動資訊,joiner記錄報名資訊。以下結構可參考
CREATE TABLE `event` (
`sn` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`topic` VARCHAR( 50 ) NOT NULL ,
`desc` VARCHAR( 250 ) NOT NULL ,
`start_time` DATETIME NOT NULL ,
`end_time` DATETIME NOT NULL ,
`joiner_no` INT NOT NULL
) ENGINE = MYISAM ;
CREATE TABLE `joiner` (
`sn` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 20 ) NOT NULL ,
`sex` ENUM( 'm', 'f' ) NOT NULL ,
`mobile` VARCHAR( 10 ) NOT NULL ,
`event_sn` INT NOT NULL ,
`time` DATETIME NOT NULL
) ENGINE = MYISAM ;
--------------------------------------------------------------------
全站熱搜
留言列表