基于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简单提示框alert封装函数
Aug 08 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
基于php无限分类的深入理解
Jun 02 PHP
探讨PHP删除文件夹的三种方法
Jun 09 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
thinkphp实现附件上传功能
May 26 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 PHP
PHP 使用位运算实现四则运算的代码
Mar 09 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP循环结构实例讲解
2014/02/10 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
JS实现页面打印功能
2017/03/16 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
python 切片和range()用法说明
2013/03/24 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python进行两个表格对比的方法
2018/06/27 Python
python抖音表白程序源代码
2019/04/07 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
低碳环保口号
2014/06/12 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
给上级领导的感谢信
2015/01/22 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis