本文实例讲述了基于thinkPHP框架实现留言板的方法。分享给大家供大家参考,具体如下:
奋斗了一天,终于THINKPHP小邓留言版的概念版出来了
其实真的THINKPHP开发速度很快,作为一个互联网上“搬砖”的,从事这种 纯码农的事也是无可厚非的。
代码就实现了如下功能
1.留言功能。
2.验证功能。
3.分页显示功能。
就是写了几行代码(PS:页面设计代码不算,就算控制器和模型的代码)
下面我公布一下控制的器的代码,关于THINKPHP的代码规则我就不阐述了,看thinkphp手册就可以了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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( '标题必须' ); } } } |
下面是验证模型的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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程序设计有所帮助。