CodeIgniter編寫的簡單留言板的DEMO

科技小先鋒發表於2017-11-14

   小弟我第一次學習php,第一次用codeigniter編寫demo,自己動手學習寫東西總能夠發現很多新知識。一下是小弟寫的一個留言板的demo,請大家多多指教。

1、留言板的model類,與資料互動。


  1. <?php 
  2. /** 
  3.  * 描述:留言板model類 
  4.  * author:xuzw13@gmail.com 
  5.  * */ 
  6. class Guestbook_model extends CI_Model{ 
  7.     const TBL_GB = `guestbook`
  8.  
  9.     function __construct() 
  10.     { 
  11.         parent::__construct(); 
  12.         $this->load->database(); 
  13.     } 
  14.  
  15.     function getGuestbooks() 
  16.     { 
  17.         $sql = “SELECT * FROM “.self::TBL_GB; 
  18.         $query = $this->db->query($sql); 
  19.         //返回條數 
  20.         $numRow = $query->num_rows(); 
  21.         $resultRow = $query->result_array(); 
  22.         return array(`numRow`=>$numRow,`resultRow`=>$resultRow); 
  23.     } 
  24.  
  25.     function get_guestbook($_id
  26.     { 
  27.         $sql = “SELECT * FROM “.self::TBL_GB.” where id=?”
  28.         $query = $this->db->query($sql,array($_id)); 
  29.         return $query->result_array(); 
  30.     } 
  31.  
  32.     /*query方式實現插入*/ 
  33.     function add_guestbook($arrs
  34.     { 
  35.         $sql = “insert into “.self::TBL_GB.“(title,content,addtime) values (?,?,now())”
  36.         $query = $this->db->query($sql,$arrs); 
  37.          return  $this->db->affected_rows(); 
  38.     } 
  39.  
  40.     /*query方式實現插入*/ 
  41.     function add_guestbook_active($arrs
  42.     { 
  43.         $this->db->insert(self::TBL_GB,$arrs); 
  44.         return  $this->db->affected_rows(); 
  45.     } 
  46.  
  47.     function edit_guestbook($arrs
  48.     { 
  49.         $sql = “update “.self::TBL_GB.” set title=?,content=? where id=?”
  50.         $query = $this->db->query($sql,$arrs); 
  51.         return  $this->db->affected_rows(); 
  52.     } 
  53.  
  54.     function delete_guestbook($_id
  55.     { 
  56.         $this->db->where(`id`,$_id); 
  57.         $this->db->delete(self::TBL_GB); 
  58.     } 
  59.  
  60.  
  61. /*End of guestbook_model.php */ 
  62. /*Location: /application/models/guestbook_model.php */ 

2、留言板的controller類,處理頁面請求等。

 


  1. <?php  if ( ! defined(`BASEPATH`)) exit(`No direct script access allowed`); 
  2. /** 
  3.  * 描述:留言板controller類 
  4.  * author:xuzw13@gmail.com 
  5.  * */ 
  6. class Guestbook extends CI_Controller{ 
  7.  
  8.     public function __construct() 
  9.     { 
  10.         parent::__construct(); 
  11.         $this->load->helper(array(`form`,`url`));   //載入輔助函式 
  12.         $this->load->model(`Guestbook_model`); 
  13.         $this->load->library(`form_validation`); //表單驗證類 
  14.     } 
  15.  
  16.     function index() 
  17.     { 
  18.         header(“Content-type:text/html;charset=utf-8”); 
  19.  
  20.         $data[`title`] = `CI-留言板首頁`
  21.  
  22.         $result = $this->Guestbook_model->getGuestbooks(); 
  23.         $data[`guestbooks`] = $result
  24.  
  25.         $this->load->view(`guestbook/header`,$data); 
  26.         $this->load->view(`guestbook/index`,$data); 
  27.         $this->load->view(`guestbook/footer.html`); 
  28.     } 
  29.      
  30.     /*新增留言介面*/ 
  31.     function add() 
  32.     { 
  33.         header(“Content-type:text/html;charset=utf-8”); 
  34.  
  35.         $data[`title`] = `CI-留言板首頁`;  
  36.          
  37.         $this->load->view(`guestbook/header`,$data); 
  38.         $this->load->view(`guestbook/add`); 
  39.         $this->load->view(`guestbook/footer.html`); 
  40.     } 
  41.  
  42.       /*新增留言資料處理*/ 
  43.     function add_guestbook() 
  44.     { 
  45.         header(“Content-type:text/html;charset=utf-8”); 
  46.  
  47.         $data[`title`] = `CI-留言板首頁`;  
  48.          
  49.         $this->form_validation->set_rules(`title`,`Title`,`required`); 
  50.         $this->form_validation->set_rules(`content`,`Content`,`required`); 
  51.          
  52.         if($this->form_validation->run() == FALSE) 
  53.         { 
  54.             $data[`title`] = `CI-留言板首頁`;  
  55.             $data[`errors`] = validation_errors();  
  56.             
  57.             $this->load->view(`guestbook/header`,$data); 
  58.             $this->load->view(`guestbook/add`); 
  59.             $this->load->view(`guestbook/footer.html`); 
  60.         } 
  61.         else 
  62.         { 
  63.             /*$data = array($this->input->post(`title`),$this->input->post(`content`)); 
  64.             $result = $this->Guestbook_model->add_guestbook($data);*/ 
  65.             $data = array(`title` => $this->input->post(`title`), 
  66.                     `content` => $this->input->post(`content`));    
  67.             $result = $this->Guestbook_model->add_guestbook_active($data);        
  68.             redirect(site_url(`guestbook`)); 
  69.         } 
  70.           
  71.     } 
  72.       
  73.     /*修改頁面*/ 
  74.     function edit($_id
  75.     { 
  76.         header(“Content-type:text/html;charset=utf-8”); 
  77.  
  78.         $data[`title`] = `CI-留言板修改資訊頁面`;  
  79.  
  80.         $result = $this->Guestbook_model->get_guestbook($_id); 
  81.  
  82.         $data[`result`] = $result[0]; 
  83.         $this->load->view(`guestbook/header`,$data); 
  84.         $this->load->view(`guestbook/edit`,$data); 
  85.         $this->load->view(`guestbook/footer.html`); 
  86.  
  87.     } 
  88.  
  89.     /** 
  90.      * 修改留言資訊 
  91.      * */ 
  92.     function edit_guestbook() 
  93.     { 
  94.         header(“Content-type:text/html;charset=utf-8”); 
  95.  
  96.         $data[`title`] = `CI-留言板首頁`;  
  97.          
  98.         $this->form_validation->set_rules(`title`,`標題`,`required`); 
  99.         $this->form_validation->set_rules(`content`,`內容`,`required`); 
  100.          
  101.         if($this->form_validation->run() == FALSE) 
  102.         { 
  103.             $data[`title`] = `CI-留言板首頁`;  
  104.             $data[`errors`] = validation_errors();  
  105.             $this->load->view(`guestbook/header`,$data); 
  106.             $this->load->view(`guestbook/edit`); 
  107.             $this->load->view(`guestbook/footer.html`); 
  108.         } 
  109.         else 
  110.         { 
  111.             $data = array($this->input->post(`title`), 
  112.                           $this->input->post(`content`), 
  113.                           $this->input->post(`hid`)); 
  114.  
  115.              $result = $this->Guestbook_model->edit_guestbook($data); 
  116.               
  117.               redirect(site_url(`guestbook`)); 
  118.         } 
  119.  
  120.     } 
  121.       
  122.     /*刪除留言資訊*/ 
  123.     function delete($_id
  124.     { 
  125.          $result = $this->Guestbook_model->delete_guestbook($_id); 
  126.               
  127.          redirect(site_url(`guestbook`)); 
  128.     } 
  129.  
  130. /*End of guestbook.php */ 
  131. /*Location: /application/controllers/guestbook.php */ 

以上是簡單留言板核心的程式碼,很多地方寫的不好,請大家多多指教。
以下是原始碼,請大家多多指教!

 

本文轉自xuzw13 51CTO部落格,原文連結:http://blog.51cto.com/xuzhiwei/1133038,如需轉載請自行聯絡原作者


相關文章