您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程

Phpcmsv9怎么开发留言板

冰枫2025-05-25phpcms教程已有人查阅

导读一、创建模块存放目录 在/phpcms/modules/下创建一个文件夹gbook用来存放模块,gbook文件下包含三个文件夹,classes(模块类库包)、functions(模块函数类包)

功能比较简单,写写为了记住这个过程。 新建一张数据表xx_gbook,有以下字段
Id int(4) 自增长 非空 Name varchar(255) utf-8 Phone int(20) Address varchar(255) utf-8 Content text(500) utf-8 Inputtime int(12)
一、创建模块存放目录 在/phpcms/modules/下创建一个文件夹gbook用来存放模块,gbook文件下包含三个文件夹,classes(模块类库包)、functions(模块函数类包)、templates(模版包,一般是后台模版)。
二、创建模块控制器类(注意:类名称与控制器文件名必须相同)、数据库模型类 在gbook文件夹下新建文件gbook.php,前台不用权限控制,后台类要有权限控制,所以后台新建类要加载并继承admin,写法 pc_base::load_app_class('admin','admin',0); class gbook extends admin(){} 另外控制器的方法名不要和该类中的方法名一样 数据库模型类,在/phpcms/model/目录下新建gbook_model.class.php文件用来加载xx_gbook表。附上我写的一个小例子
Gbook_model.class.php <?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('model','',0); //加载公用模型类 class gbook_model extends model{ //创建新的数据模型类
public function __construct(){ $this->db_config = pc_base::load_config('database'); //数据库连接 $this->db_setting = 'default'; //连接设置 $this->table_name = 'gbook'; //数据表名 parent::__construct(); } } ?>
Gbook.php <?php defined('IN_PHPCMS') or exit('No permission resources.'); //判断是不是有控制器 pc_base::load_app_class('admin','admin',0); //加载admin类 class gbook extends admin{ //创建新类并继承admin的属性 public function __construct(){ $this->db_gbook = pc_base::load_model('gbook_model'); //加载数据库模型类 } //默认列表显示留言 public function init(){ //分页设置 $page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1; //分页条数 $pageSize = 20; //查询语句 $gbookList = $this->db_gbook->listinfo(array(),'inputtime DESC',$page,$pageSize); //模版显示 include $this-> admin_tpl("gbook_list"); } //删除留言 public function del(){ //删除语句 if ($this->db_gbook->delete(array('id'=>$_GET['id']))) { echo 1; }else{ echo ''; } } } ?>
Gbook_list.tpl.php <?php defined('IN_ADMIN') or exit('No permission resources.'); include $this->admin_tpl('header','admin');?> <div class="pad-10"> <div class="explain-col"> <?php echo "管理人员根据浏览者的留言,提取相关的信息。";?> </div> <div class="bk10"></div> <div class="table-list"> <table width="100%"> <thead> </thead> <tbody> <?php if($gbookList):?> //判断是否存在数据,而后循环输出 <?php foreach($gbookList as $gbook):?> <tr> <td><?php echo $gbook['id']?></td> <td><?php echo $gbook['name']?></td> <td align="center"><?php echo date("Y-m-d H:i:s",$gbook['inputtime']);?></td> <td><?php echo $gbook['phone']?></td> <td><?php echo $gbook['address']?></td> <td><?php echo $gbook['content']?></td> <td><a href="javascript:delgbook(<?php echo $gbook['id'];?>)">删除</a></td> </tr> <?php endforeach;?> <?php endif;?> </tbody> </table> <div id="pages"><?php echo $this->db_gbook->pages?></div> </div> </div> <script type="text/javascript"> function delgbook(id){ if(confirm("是否确定删除此留言")){ //ajax.post方法传递id给gbook.php中的del()函数 jQuery.post('?m=gbook&c=gbook&a=del&id=' + id + '&pc_hash=<?php echo $_SESSION['pc_hash']?>',{},function(data){ if(data){ location.reload(); }else{ alert("留言删除失败"); } }); } } jQuery(document).ready(function(){ window.top.$('#display_center_id').css('display','none'); jQuery(".subnav").css('display','none'); }) </script>
三、前台数据添加模块 这里用的是api+ajax的方式实现的,与官方网站给的有些不同,具体参考各人习惯
1、 在/api/目录下创建gbook.php文件,实现前后台数据对接
<?php defined('IN_PHPCMS') or exit('No premission resources.'); pc_base::load_app_class('GbookApi','gbook'); //加载接口类 $methodName = $_GET['act']; echo GbookApi::$methodName(); ?>
2.在/phpcms/modules/gbook/classes/目录下创建GbookApi.class.php文件
<?php //定义API名称 class GbookApi{ public static function gbook_reg(){ $gbookModel = pc_base::load_model("gbook_model"); if($gbookModel -> insert(array('id'=>'','name'=>$_POST['name'],'phone'=>$_POST['phone'],'address'=>$_POST['address'],'content'=>$_POST['content'],'inputtime'=>time()))){ echo '1'; }else{ echo ''; } } } ?>
3、 前台模版/phpcms/templates/default/content/目录下新建文件gbook.html
<script type="text/javascript"> $(function(){ $('#botton_gbook').click(function() { jQuery.post("/api.php?op=gbook&act=gbook_reg",jQuery("#form_gbook").serialize(), function(data) { if (data) { $('.input').attr({ "value" : "" }); $('.input').parent().find(".red").remove(); $('.input').parent().find(".green").remove(); $("#form_gbook").hide(); } else { alert("提问失败"); $('.input').attr({ "value" : "" }); $('.input').parent().find(".red").remove(); $('.input').parent().find(".green").remove(); } }); } }) })
</script>
<form id="form_gbook">
<table bordercolor="#F2F2F2" width="100%" cellpadding="0" cellspacing="0" border="1"> <tr> <td align="right" valign="center" width="80px;">姓名:</td>
<td align="left" valign="center">
<input type="text" name="name" id="name" class="required input" />
</td>
</tr>
<tr>
<td align="right" valign="center" width="80px;">电话:</td>
<td align="left" valign="center"> <input type="text" name="phone" id="phone" class="input" /></td> 
</tr>
<tr><td align="right" valign="center" width="80px;">地址:</td>
<td align="left" valign="center"> <input type="text" name="address" id="address" class="input" /> </td>
</tr>
<tr> <td align="right" valign="top" width="80px"></td> <td align="left" valign="top"> <textarea name="content" id="content" cols="50" rows="5" class="required input"></textarea> </td> </tr>
<tr>
<td colspan="2" align="center" valign="center"> <input type="button" value="提交" id="botton_gbook" onclick="return checkform_gbook();" /><input type="reset" value="重填" />
</td>
</tr>
</table>
</form>

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码
  • (PC+WAP)绿色环保设备环保企业网站模板源码下载基于PbootCMS内核开发的响应式企业模板,为环保设备制造、环境技术服务等企业打造,通过模块化设计实现多行业快速适配。查看源码
  • 响应式帝国cms7.5NBA黑色体育资讯模板下载本模板为体育新闻媒体、报道机构设计,采用帝国CMS7.5内核开发,具备完整的资讯发布、体育日历、数据展示功能。响应式布局确保在手机端呈现实时资讯和图文内容查看源码
  • (自适应)游泳馆泳池水处理器设备pbootcms网站模板免费下载专注服务于泳池水处理设备制造商、泳池系统工程商等企业用户。模板预设设备分类体系、技术参数展示模块和解决方案呈现页面,满足行业特有展示需求。查看源码
  • 自适应电子科技类产品公司pbootcms网站模板基于PbootCMS内核开发,为电子科技类企业设计,适用于电子产品展示、企业官网等场景。该模板采用‌开源架构‌,用户可自由访问和修改源码,灵活适配各类行业需求,无需二次开发成本查看源码
  • (自适应)电梯扶梯升降梯行业pbootcms企业网站模板(自适应手机版)响应式电梯扶梯类pbootcms模板 电梯生产企业绿色企业网站源码下载PbootCMS内核开发的网站模板,该模板适用于电梯、扶梯类等企业,查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐