国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

ThinkPHP表單自動提交驗證實例教程

2024-05-04 23:24:27
字體:
來源:轉載
供稿:網友

本文以實例講述了ThinkPHP表單自動提交驗證的實現過程,詳細步驟如下所示:

一、模板部分:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><TITLE>ThinkPHP示例:表單提交、自動驗證和自動填充</TITLE></HEAD><BODY><div><FORM METHOD=POST ACTION="__URL__/insert"><TABLE cellpadding=2 cellspacing=2><TR> <TD>標題:</TD> <TD ><INPUT TYPE="text"></TD></TR><TR> <TD >郵箱:</TD> <TD ><INPUT TYPE="text"></TD></TR><TR> <TD>內容:</TD> <TD><TEXTAREA ROWS="8" COLS="25"></TEXTAREA></TD></TR><TR> <TD>驗證碼:</TD> <TD><INPUT TYPE="text" > <img src="__URL__/verify" /> 輸入對應的數字</TD></TR><TR> <TD></TD> <TD><INPUT TYPE="submit" value="提 交"> <INPUT TYPE="reset" value="清 空"></TD></TR><TR><TD></TD> <TD ><HR></TD></TR><volist><TR><TD></TD> <TD>{$vo.title} <span>[{$vo.email} {$vo.create_time|date='Y-m-d H:i:s',###}]</span></TD></TR><TR ><TD></TD> <TD ><div>{$vo.content|nl2br}</div></TD></TR></volist></TABLE> </FORM></div></BODY></HTML>

二、模型部分form類程序代碼:

<?php class FormModel extends Model { // 自動驗證設置 protected $_validate = array(//這里必須定義為$_validata用來驗證 array('title','require','標題必須!',1), array('email','email','郵箱格式錯誤!',2), array('content','require','內容必須'), array('verify','require','驗證碼必須!'), array('verify','CheckVerify','驗證碼錯誤',0,'callback'),//callback 使用方法驗證,前面定義的驗證規則是一個當前 Model 類的方法 //這里如果有不太理解的話可以看本類的最后一個方法 array('title','','標題已經存在',0,'unique','add'),//附加驗證unique,unique 驗證是否唯一,系統會根據字段目前的值查詢數據庫來判斷是否存在相同的值 ); /*think的驗證機制,省去了不少麻煩非空:equire 郵箱:email 驗證碼正確:CheckVerify array()數組內容array(驗證字段,驗證規則,錯誤提示,驗證條件,附加規則,驗證時間) 驗證條件 EXISTS_TO_VAILIDATE 或者 0 存在字段就驗證 (默認) MUST_TO_VALIDATE 或者1 必須驗證 VALUE_TO_VAILIDATE 或者 2 值不為空的時候驗證 附加規則 配合驗證規則使用,包括: function 使用函數驗證,前面定義的驗證規則是一個函數名 callback 使用方法驗證,前面定義的驗證規則是一個當前 Model 類的方法 confirm 驗證表單中的兩個字段是否相同,前面定義的驗證規則是一個字段名 equal 驗證是否等于某個值,該值由前面的驗證規則定義 in 驗證是否在某個范圍內,前面定義的驗證規則必須是一個數組 unique 驗證是否唯一,系統會根據字段目前的值查詢數據庫來判斷是否存在相同的值 regex 使用正則進行驗證,表示前面定義的驗證規則是一個正則表達式(默認) */ // 自動填充設置 //由上面推導,下面這個是自動填充字段了,方便明了 protected $_auto = array(//同樣這里必須定義為$_auto array('status','1','ADD'), array('create_time','time','ADD','function'),//這里指明填充使用函數time() ); /* 數組因子: array(填充字段,填充內容,填充條件,附加規則) 填充條件包括: ADD 新增數據的時候處理(默認方式) Update 更新數據的時候處理 ALL 所有情況下都進行處理附加規則包括: function 使用函數 callback 回調方法 field 用其它字段填充 string 字符串(默認方式) */public function CheckVerify() { return md5($_POST['verify']) == $_SESSION['verify']; }}?>

三、控制器部分indexaction類程序代碼:

<?php class IndexAction extends Action{ // 首頁 public function index(){ $Form = D("Form");//創建一個對象 $list = $Form->top6('','*','id desc');//從數據庫中讀取最新6條記錄,并且安id倒序輸出 $this->assign('list',$list);//把數據傳到模板里 $this->display(); } // 處理表單數據 public function insert() {//此方法對應表單的ACTION="__URL__/insert" $Form = D("Form"); if($Form->create()) {//創建 Form 數據對象,默認通過表單提交的數據進行創建,為下面寫入數據庫做準備$Form->add();// 新增表單提交的數據 ,吧上面創建的數據對象提交$this->redirect();//返回上一個模塊,頁面跳轉可以說是 }else{header("Content-Type:text/html; charset=utf-8");exit($Form->getError().' [ <A href="javascript:history.back()" >返 回</A> ]'); } } // 生成驗證碼 //這個方法沒什么好說的,固定格式 public function verify() { import("ORG.Util.Image");Image::buildImageVerify(); //這里兩個冒號是調用靜態方法 }} ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉鱼县| 天柱县| 阳春市| 富锦市| 宁安市| 博野县| 永清县| 华池县| 潞西市| 唐山市| 南漳县| 习水县| 肃南| 扎囊县| 临猗县| 徐州市| 古交市| 平泉县| 那曲县| 徐水县| 波密县| 铁力市| 东莞市| 牡丹江市| 任丘市| 敖汉旗| 鄂伦春自治旗| 德州市| 措美县| 筠连县| 库车县| 林周县| 韶关市| 邵阳县| 潍坊市| 兰溪市| 兖州市| 讷河市| 大悟县| 宁城县| 周至县|