ThinkPHP表單自動(dòng)提交驗(yàn)證實(shí)例教程
文章主要介紹了ThinkPHP表單自動(dòng)提交驗(yàn)證實(shí)例教程,非常有實(shí)用價(jià)值,需要的朋友可以參考下。
本文以實(shí)例講述了ThinkPHP表單自動(dòng)提交驗(yàn)證的實(shí)現(xiàn)過(guò)程,詳細(xì)步驟如下所示:
一、模板部分:
<!DOCTYPE HTML PUBLIC "-/pic/pic/pic/p>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>ThinkPHP示例:表單提交、自動(dòng)驗(yàn)證和自動(dòng)填充</TITLE>
</HEAD>
<BODY>
<p class="main">
<FORM METHOD=POST ACTION="__URL__/insert">
<TABLE cellpadding=2 cellspacing=2>
<TR>
<TD width="12%">標(biāo)題:</TD>
<TD ><INPUT TYPE="text" NAME="title" style="height:23px" class="large bLeft"></TD>
</TR>
<TR>
<TD >郵箱:</TD>
<TD ><INPUT TYPE="text" NAME="email" style="height:23px" class="large bLeft"></TD>
</TR>
<TR>
<TD>內(nèi)容:</TD>
<TD><TEXTAREA NAME="content" class="large bLeft" ROWS="8" COLS="25"></TEXTAREA></TD>
</TR>
<TR>
<TD>驗(yàn)證碼:</TD>
<TD><INPUT TYPE="text" NAME="verify" style="height:23px" class="small" > <img src="__URL__/verify" align="absmiddle" /> 輸入對(duì)應(yīng)的數(shù)字</TD>
</TR>
<TR>
<TD></TD>
<TD><INPUT TYPE="submit" class="button" value="提 交"> <INPUT TYPE="reset" class="button" value="清 空"></TD>
</TR>
<TR>
<TD></TD>
<TD ><HR></TD>
</TR>
<volist name="list" id="vo">
<TR>
<TD></TD>
<TD style="border-bottom:1px dotted silver">{$vo.title} <span style="color:gray">[{$vo.email} {$vo.create_time|date='Y-m-d H:i:s',###}]</span></TD>
</TR>
<TR >
<TD></TD>
<TD ><p class="content">{$vo.content|nl2br}</p></TD>
</TR>
</volist>
</TABLE>
</FORM>
</p>
</BODY>
</HTML>
二、模型部分form類程序代碼:
<?php
class FormModel extends Model {
/pic/p>
protected $_validate = array(/pic/p>
array('title','require','標(biāo)題必須!',1),
array('email','email','郵箱格式錯(cuò)誤!',2),
array('content','require','內(nèi)容必須'),
array('verify','require','驗(yàn)證碼必須!'),
array('verify','CheckVerify','驗(yàn)證碼錯(cuò)誤',0,'callback'),/pic/p>
/pic/p>
array('title','','標(biāo)題已經(jīng)存在',0,'unique','add'),/pic/p>
);
/*think的驗(yàn)證機(jī)制,省去了不少麻煩非空:equire 郵箱:email 驗(yàn)證碼正確:CheckVerify
array()數(shù)組內(nèi)容array(驗(yàn)證字段,驗(yàn)證規(guī)則,錯(cuò)誤提示,驗(yàn)證條件,附加規(guī)則,驗(yàn)證時(shí)間)
驗(yàn)證條件
EXISTS_TO_VAILIDATE 或者 0 存在字段就驗(yàn)證 (默認(rèn))
MUST_TO_VALIDATE 或者1 必須驗(yàn)證
VALUE_TO_VAILIDATE 或者 2 值不為空的時(shí)候驗(yàn)證
附加規(guī)則 配合驗(yàn)證規(guī)則使用,包括:
function 使用函數(shù)驗(yàn)證,前面定義的驗(yàn)證規(guī)則是一個(gè)函數(shù)名
callback 使用方法驗(yàn)證,前面定義的驗(yàn)證規(guī)則是一個(gè)當(dāng)前 Model 類的方法
confirm 驗(yàn)證表單中的兩個(gè)字段是否相同,前面定義的驗(yàn)證規(guī)則是一個(gè)字段名
equal 驗(yàn)證是否等于某個(gè)值,該值由前面的驗(yàn)證規(guī)則定義
in 驗(yàn)證是否在某個(gè)范圍內(nèi),前面定義的驗(yàn)證規(guī)則必須是一個(gè)數(shù)組
unique 驗(yàn)證是否唯一,系統(tǒng)會(huì)根據(jù)字段目前的值查詢數(shù)據(jù)庫(kù)來(lái)判斷是否存在相同的值
regex 使用正則進(jìn)行驗(yàn)證,表示前面定義的驗(yàn)證規(guī)則是一個(gè)正則表達(dá)式(默認(rèn))
*/
/pic/p>
/pic/p>
protected $_auto = array(/pic/p>
array('status','1','ADD'),
array('create_time','time','ADD','function'),/pic/p>
);
/*
數(shù)組因子:
array(填充字段,填充內(nèi)容,填充條件,附加規(guī)則)
填充條件包括:
ADD 新增數(shù)據(jù)的時(shí)候處理(默認(rèn)方式)
Update 更新數(shù)據(jù)的時(shí)候處理
ALL 所有情況下都進(jìn)行處理
附加規(guī)則包括:
function 使用函數(shù)
callback 回調(diào)方法
field 用其它字段填充
string 字符串(默認(rèn)方式)
*/
public function CheckVerify() {
return md5($_POST['verify']) == $_SESSION['verify'];
}
}
?>
三、控制器部分indexaction類程序代碼:
<?php
class IndexAction extends Action{
/pic/p>
public function index(){
$Form = D("Form");/pic/p>
$list = $Form->top6('','*','id desc');/pic/p>
$this->assign('list',$list);/pic/p>
$this->display();
}
/pic/p>
public function insert() {/pic/insert"
$Form = D("Form");
if($Form->create()) {/pic/p>
$Form->add();/pic/p>
$this->redirect();/pic/p>
}else{
header("Content-Type:text/html; charset=utf-8");
exit($Form->getError().' [ <A href="javascript:history.back()" rel="external nofollow" >返 回</A> ]');
}
}
/pic/p>
/pic/p>
public function verify() {
import("ORG.Util.Image");
Image::buildImageVerify(); /pic/p>
}
}
?>
【ThinkPHP表單自動(dòng)提交驗(yàn)證實(shí)例教程】相關(guān)文章:
ThinkPHP中create()方法自動(dòng)驗(yàn)證表單信息01-26
使用php自動(dòng)提交表單的方法12-05
如何實(shí)現(xiàn)php登陸表單提交CSRF及驗(yàn)證碼10-07
php中tp驗(yàn)證表單與自動(dòng)填充函數(shù)代碼11-10
PHP 表單驗(yàn)證方法12-05
常用表單驗(yàn)證的js方法02-03
如何讓php提交form表單12-07
PHP提交from表單的方法10-21
- 相關(guān)推薦