91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在ThinkPHP項目中實現一個表單自動提交驗證功能

發布時間:2020-12-17 16:53:02 來源:億速云 閱讀:154 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關如何在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 class="main">
<FORM METHOD=POST ACTION="__URL__/insert">
<TABLE cellpadding=2 cellspacing=2>
<TR>
 <TD width="12%">標題:</TD>
 <TD ><INPUT TYPE="text" NAME="title"  class="large bLeft"></TD>
</TR>
<TR>
 <TD >郵箱:</TD>
 <TD ><INPUT TYPE="text" NAME="email"  class="large bLeft"></TD>
</TR>
<TR>
 <TD>內容:</TD>
 <TD><TEXTAREA NAME="content" class="large bLeft" ROWS="8" COLS="25"></TEXTAREA></TD>
</TR>
<TR>
 <TD>驗證碼:</TD>
 <TD><INPUT TYPE="text" NAME="verify"  class="small" > <img src="__URL__/verify" align="absmiddle" /> 輸入對應的數字</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 >{$vo.title} <span >[{$vo.email} {$vo.create_time|date='Y-m-d H:i:s',###}]</span></TD>
</TR>
<TR >
<TD></TD>
 <TD ><div class="content">{$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()" rel="external nofollow" >返 回</A> ]');
  }
 }
 // 生成驗證碼
 //這個方法沒什么好說的,固定格式
 public function verify() {
  import("ORG.Util.Image");
   Image::buildImageVerify(); //這里兩個冒號是調用靜態方法
 }
} 
?>

以上就是如何在ThinkPHP項目中實現一個表單自動提交驗證功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广水市| 襄城县| 通许县| 呼和浩特市| 永寿县| 大英县| 三门县| 满洲里市| 芜湖县| 巴林右旗| 益阳市| 阿拉善右旗| 民权县| 枣强县| 蒲江县| 马边| 桐庐县| 德阳市| 长治市| 东丰县| 莱西市| 深圳市| 彭州市| 平果县| 聂拉木县| 敦煌市| 惠水县| 荣昌县| 湘潭市| 雷州市| 九台市| 千阳县| 万载县| 景泰县| 杂多县| 旌德县| 巴青县| 临江市| 丹棱县| 康乐县| 航空|