基于thinkPHP框架实现留言板的方法


Posted in PHP onOctober 17, 2016

本文实例讲述了基于thinkPHP框架实现留言板的方法。分享给大家供大家参考,具体如下:

奋斗了一天,终于THINKPHP小邓留言版的概念版出来了

其实真的THINKPHP开发速度很快,作为一个互联网上“搬砖”的,从事这种 纯码农的事也是无可厚非的。

代码就实现了如下功能

1.留言功能。

2.验证功能。

3.分页显示功能。

就是写了几行代码(PS:页面设计代码不算,就算控制器和模型的代码)

下面我公布一下控制的器的代码,关于THINKPHP的代码规则我就不阐述了,看thinkphp手册就可以了。

class IndexAction extends Action
{
  public function index() {
    $Form = M("word");
    // 按照id排序显示前6条记录
    import("@.ORG.Page");    //导入分页类
      $count = $Form->count();  //计算总数
      $p = new Page ( $count, 1 );
      $list=$Form->limit($p->firstRow.','.$p->listRows)->order('id desc')->findAll();
      $page = $p->show ();
      $this->assign ( "page", $page );
      $this->assign ( "list", $list );
    $this->display(); //模板调用,这个是关键。
  }
  //数据插入
  public function insert() {
    $word = D("word");
     if($vo = $word->create())
       {
         if(false !== $word->add())
        {
           $this->success("数据添加成功");
         }
         else
         {
          $this->error('数据写入错误!');
         }
       }
    else
      {
       $this->error($word->getError());
      }
  }
  //验证重复
  public function checkTitle()
  {
    if (!empty($_POST['username'])) {
      $Form = M("word");
      //getByTitle是model的获取数据根据某字段获取记录的魔术方法
      //比如getById etc getByXXX XXX大写
      if ($Form->getByUsername($_POST['username'])) {
        $this->error('<font color=red>标题已经存在</font>');
      } else {
        $this->success('标题可以使用!');
      }
    } else {
      $this->error('标题必须');
    }
  }
}

下面是验证模型的代码

class wordModel extends Model{
  protected $_validate = array(
   array('username', 'require', '称呼必须!', 1),//1为必须验证
   array('email', 'email', '邮箱格式错误!', 2),//2为不为空时验证
   array('qq','number','QQ号错误',2),
   array('content', 'require', '内容必须',1),
   array('username','','称呼已经存在',0,'unique',1)
  );
  protected $_auto = array(
   array('datetime', 'get_date',1, 'callback'),
   array('ip','getip',1,'callback')
  );
  protected function get_date()
  {
   return date("Y-m-d H:i:s");
  }
  protected function getip()
  {
   return $_SERVER['REMOTE_ADDR'];
  }
}

thinkphp有一个要注意的,在CURD操作中,都规定要用表名。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP.MVC的模板标签系统(三)
Sep 05 PHP
php self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
精美漂亮的php分页类代码
Apr 02 PHP
解析php中反射的应用
Jun 18 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
Mar 18 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 27 PHP
php如何实现数据库的备份和恢复
Nov 30 PHP
php并发加锁示例
Oct 17 #PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 #PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 #PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 #PHP
php根据数据id自动生成编号的实现方法
Oct 16 #PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 #PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 #PHP
You might like
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
Python程序设计入门(1)基本语法简介
2014/06/13 Python
Python函数嵌套实例
2014/09/23 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
一位农村小子的自荐信
2014/04/07 职场文书
毕业评语大全
2014/05/04 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang