基于thinkPHP框架實(shí)現(xiàn)留言板的方法
本文實(shí)例講述了基于thinkPHP框架實(shí)現(xiàn)留言板的方法。分享給大家供大家參考,具體如下:
奮斗了一天,終于THINKPHP小鄧留言版的概念版出來(lái)了
其實(shí)真的THINKPHP開(kāi)發(fā)速度很快,作為一個(gè)互聯(lián)網(wǎng)上“搬磚”的,從事這種 純碼農(nóng)的事也是無(wú)可厚非的。
代碼就實(shí)現(xiàn)了如下功能
1.留言功能。
2.驗(yàn)證功能。
3.分頁(yè)顯示功能。
就是寫(xiě)了幾行代碼(PS:頁(yè)面設(shè)計(jì)代碼不算,就算控制器和模型的代碼)
下面我公布一下控制的器的代碼,關(guān)于THINKPHP的代碼規(guī)則我就不闡述了,看thinkphp手冊(cè)就可以了。
class IndexAction extends Action { public function index() { $Form = M("word"); // 按照id排序顯示前6條記錄 import("@.ORG.Page"); //導(dǎo)入分頁(yè)類(lèi) $count = $Form->count(); //計(jì)算總數(shù) $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(); //模板調(diào)用,這個(gè)是關(guān)鍵。 } //數(shù)據(jù)插入 public function insert() { $word = D("word"); if($vo = $word->create()) { if(false !== $word->add()) { $this->success("數(shù)據(jù)添加成功"); } else { $this->error('數(shù)據(jù)寫(xiě)入錯(cuò)誤!'); } } else { $this->error($word->getError()); } } //驗(yàn)證重復(fù) public function checkTitle() { if (!empty($_POST['username'])) { $Form = M("word"); //getByTitle是model的獲取數(shù)據(jù)根據(jù)某字段獲取記錄的魔術(shù)方法 //比如getById etc getByXXX XXX大寫(xiě) if ($Form->getByUsername($_POST['username'])) { $this->error('<font color=red>標(biāo)題已經(jīng)存在</font>'); } else { $this->success('標(biāo)題可以使用!'); } } else { $this->error('標(biāo)題必須'); } } }
下面是驗(yàn)證模型的代碼
class wordModel extends Model{ protected $_validate = array( array('username', 'require', '稱(chēng)呼必須!', 1),//1為必須驗(yàn)證 array('email', 'email', '郵箱格式錯(cuò)誤!', 2),//2為不為空時(shí)驗(yàn)證 array('qq','number','QQ號(hào)錯(cuò)誤',2), array('content', 'require', '內(nèi)容必須',1), array('username','','稱(chēng)呼已經(jīng)存在',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有一個(gè)要注意的,在CURD操作中,都規(guī)定要用表名。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- PHP實(shí)現(xiàn)基本留言板功能原理與步驟詳解
- 使用PHP開(kāi)發(fā)留言板功能
- PHP實(shí)現(xiàn)的簡(jiǎn)單留言板功能示例【基于thinkPHP框架】
- 使用PHP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)留言板功能的實(shí)例講解(推薦)
- php+Memcached實(shí)現(xiàn)簡(jiǎn)單留言板功能示例
- 簡(jiǎn)單實(shí)現(xiàn)PHP留言板功能
- PHP結(jié)合Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)留言板功能
- php實(shí)現(xiàn)網(wǎng)站留言板功能
- php制作文本式留言板
- php簡(jiǎn)單的留言板與回復(fù)功能具體實(shí)現(xiàn)
- php開(kāi)發(fā)留言板的CRUD(增,刪,改,查)操作
- php xml留言板 xml存儲(chǔ)數(shù)據(jù)的簡(jiǎn)單例子
- 來(lái)自經(jīng)典的打造簡(jiǎn)單的PHP&MYSQL留言板
- 一個(gè)簡(jiǎn)單的PHP&MYSQL留言板源碼
- 一個(gè)可分頁(yè)的基于文本的PHP留言板源碼
- PHP+MySql實(shí)現(xiàn)一個(gè)簡(jiǎn)單的留言板
相關(guān)文章
使用PHP連接數(shù)據(jù)庫(kù)_實(shí)現(xiàn)用戶數(shù)據(jù)的增刪改查的整體操作示例
下面小編就為大家?guī)?lái)一篇使用PHP連接數(shù)據(jù)庫(kù)_實(shí)現(xiàn)用戶數(shù)據(jù)的增刪改查的整體操作示例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09form表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例
下面小編就為大家?guī)?lái)一篇form表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02PHP制作3D扇形統(tǒng)計(jì)圖以及對(duì)圖片進(jìn)行縮放操作實(shí)例
這篇文章主要介紹了PHP制作3D扇形統(tǒng)計(jì)圖以及對(duì)圖片進(jìn)行縮放操作實(shí)例,需要的朋友可以參考下2014-10-10基于MySQL到MongoDB簡(jiǎn)易對(duì)照表的詳解
本篇文章是對(duì)從MySQL到MongoDB的簡(jiǎn)易對(duì)照表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06layui框架實(shí)現(xiàn)文件上傳及TP3.2.3(thinkPHP)對(duì)上傳文件進(jìn)行后臺(tái)處理操作示例
這篇文章主要介紹了layui框架實(shí)現(xiàn)文件上傳及TP3.2.3對(duì)上傳文件進(jìn)行后臺(tái)處理操作,結(jié)合實(shí)例形式分析了layui框架結(jié)合thinkPHP進(jìn)行文件上傳與處理操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05三個(gè)思路解決laravel上傳文件報(bào)錯(cuò):413 Request Entity Too Large問(wèn)題
上傳圖片的時(shí)候,是用laravel自帶的上傳圖片的方法,一下氣上傳了20張,結(jié)果就無(wú)情報(bào)錯(cuò):413 Request Entity Too Large,后面查一下,這個(gè)報(bào)錯(cuò)信息是nginx報(bào)的錯(cuò)誤,不是php報(bào)的錯(cuò)誤。也就是說(shuō)在上傳圖片的時(shí)候被nginx攔截了2017-11-11