CodeIgniter 入門教程第一篇:資訊發布

來源:互聯網
上載者:User
一、MVC

CodeIgniter 採用MVC架構即:控制層、模型層和視圖層。

對應Application下面的檔案夾 (圖1):

所有建立檔案以.php結尾

視圖層 view 檔案夾放入HTML模板

模型層 model 存放對資料庫操作的代碼

控制層 controllers 存放進行邏輯判斷的代碼,從模型層取得資料然後輸入到視圖層,發送給使用者。

圖1

功能:

1. 模板增加輸入表單

2. 控制器增加接收表單資料的代碼,並對使用者輸入進行簡單校正。

3. 在表單上方輸出標題和本文,以及發布時間。

用到的知識點:CI helper類(url) 和 輸入類(input),

以及CI ActiveRecord 和向模板傳值。

二、初始配置

1. 連結資料庫

修改資料庫配置:/application/config/database.php

  'hostname' => 'localhost',    'username' => 'root',    'password' => '',    'database' => 'test',    'dbdriver' => 'mysqli',    'dbprefix' => 'ts_',

2. 修改預設路由

CI架構採用單檔案入口的方式,預設必須通過index.php來存取控制層。比如controllers檔案夾下有個名為test的class類,test有個叫home的function,

則訪問URL為:http://www.example.com/index.php/test/home

三、輸出頁面

1. 直接輸出HTML模板

建立兩個檔案分別位於controllers檔案夾和views檔案夾

Test.php

load->view('home');    }}home.php        Home    

這是我們的首頁

在瀏覽器開啟類似如下地址:http://test.com/index.php/test/home

2. 插入資料庫條目

建立資料庫表ts_news

Test.php

load->helper('url');$this->load->model('news_model');}public function home(){$this->load->view('home');}public function add_news(){$title = $this->input->get('title',TRUE);$content = $this->input->get('content');if ( (strlen($title) < 20 ) or (strlen($content) < 20 ) ){echo '標題或本文內容過短';return false;}$arr = array('id' => '','title' => $title,'content' => $content,'update_time' => time(),'create_time' => time());$check = $this->news_model->insert($arr,'news');if ($check){redirect('test/home');}else{echo '提交失敗';}}}home.phpHome

這是我們的首頁

News_model.phpload->database(); }public function insert($arr,$table){$this->db->insert($table, $arr); if ($this->db->affected_rows() > 0) { return $this->db->insert_id(); } else { return FALSE; }}}412ded80-4884-4a2f-ae37-6ba69cdc4278493498ee-0f5c-4676-9cec-38e5a3f3e6fd 3. 查詢資料庫並輸出 News_model.php增加public function get_all($table) { $this->db->select('*'); $query = $this->db->get($table); $query = $query->result_array(); return $query; }Test.php 的 home修改為:public function home() { $news = $this->news_model->get_all('news'); $data['news'] = $news; $this->load->view('home',$data); }

  Home模板的body修改為:

這是我們的首頁

$value) {echo '

'.$value['title'].'

發布時間:'.date('Y-m-d H:i:s',$value['create_time']).'

'.$value['content'].'

';}?>

重新整理查看效果:

以上就介紹了CodeIgniter 入門教程第一篇:資訊發布,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.