本文實例講述了基於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相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《smarty模板入門基礎教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。