CodeIgniter编写的简单留言板的DEMO

简介:

   小弟我第一次学习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,如需转载请自行联系原作者

相关文章
|
运维 监控 API
企业多账号的批量高效管理解决方案
在数智化转型的背景下,全球的企业上云步伐不断加快,越来越多的线下业务场景迁移上云。随着云上业务体量和业务场景复杂度的增加,许多企业的多组织跨部门管理效率,精细化管理质量,以及云上成本面临挑战。
519 2
|
11月前
|
人工智能 缓存 安全
《鸿蒙软总线——人工智能数据传输的稳定与安全之桥》
鸿蒙系统的分布式软总线技术为多设备间的人工智能数据传输提供了高效、稳定和安全的保障。通过多通道并发传输优化、智能链路选择与切换及分布式缓存策略,确保数据传输的及时性和稳定性;设备认证机制、数据加密措施和安全传输协议则从多个层面保护数据安全。应用案例涵盖智能家居和工业自动化领域,实现设备互联互通与协同工作,推动人工智能技术的发展。
455 13
|
机器学习/深度学习 供应链 监控
深度学习之实时库存管理
基于深度学习的实时库存管理在电商、零售、制造业和物流等多个行业中具有极高的应用价值。深度学习模型可以帮助企业实时监测库存动态、优化库存补充决策、预测需求波动,确保库存水平稳定且适合实际需求,从而降低成本、提高客户满意度。以下从核心技术、常见应用场景、技术挑战及未来发展方向进行详细说明。
833 3
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
345 1
|
机器学习/深度学习 存储 算法
latent space
【9月更文挑战第23天】
550 7
|
人工智能 自然语言处理 安全
AI技术在智能客服系统中的应用与挑战
【10月更文挑战第28天】本文将深入探讨人工智能(AI)技术在智能客服系统中的应用及其面临的挑战。我们将通过实例分析,了解AI如何改善客户服务体验,提高效率和降低成本。同时,我们也将关注AI在实际应用中可能遇到的问题,如语义理解、情感识别和数据安全等,并提出相应的解决方案。
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
552 2
|
人工智能
|
运维 Linux
在Linux中,2xx、3xx、4xx、5xx代表什么含义?
在Linux中,2xx、3xx、4xx、5xx代表什么含义?
|
算法 大数据 量子技术
探索未来:量子计算在解决复杂问题中的潜力与挑战
本文深入探讨了量子计算技术如何为解决传统计算机无法有效处理的复杂问题开辟新路径。通过分析量子计算的原理、当前发展状况以及面临的主要技术挑战,文章揭示了量子计算在未来可能带来的革命性变化,并讨论了其对科学研究、密码学和大数据处理等领域的潜在影响。