基于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 相关文章推荐
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
页面乱码问题的根源及其分析
Aug 09 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
使用Composer安装Yii框架的方法
Mar 15 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
node.js中的fs.open方法使用说明
2014/12/17 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
详解Python中time()方法的使用的教程
2015/05/22 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Python中私有属性的定义方式
2020/03/05 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
小学教师的个人自我鉴定
2013/10/26 职场文书
销售行政专员职责
2014/01/03 职场文书
护士自我介绍信
2014/01/13 职场文书
庆七一活动方案
2014/01/25 职场文书
高中军训感想800字
2014/02/23 职场文书
公司承诺书范文
2014/05/19 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
公证书格式
2015/01/23 职场文书
行政文员岗位职责
2015/02/04 职场文书
综治目标管理责任书
2015/05/11 职场文书
清明节随笔
2015/08/15 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android