<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

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

            時間:2025-03-12 13:51:53 php語言 我要投稿
            • 相關推薦

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

              文章主要介紹了ThinkPHP表單自動提交驗證實例教程,非常有實用價值,需要的朋友可以參考下。

              本文以實例講述了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>

              <p class="main">

              <FORM METHOD=POST ACTION="__URL__/insert">

              <TABLE cellpadding=2 cellspacing=2>

              <TR>

              <TD width="12%">標題:</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>內容:</TD>

              <TD><TEXTAREA NAME="content" class="large bLeft" ROWS="8" COLS="25"></TEXTAREA></TD>

              </TR>

              <TR>

              <TD>驗證碼:</TD>

              <TD><INPUT TYPE="text" NAME="verify" style="height:23px" 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 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 {

              // 自動驗證設置

              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表單自動提交驗證實例教程】相關文章:

            ThinkPHP中create()方法自動驗證表單信息09-10

            ThinkPHP中自動驗證07-26

            使用php自動提交表單的方法11-16

            如何實現php登陸表單提交CSRF及驗證碼09-14

            php中tp驗證表單與自動填充函數代碼07-16

            PHP 表單驗證方法11-01

            常用表單驗證的js方法11-12

            如何讓php提交form表單11-06

            PHP提交from表單的方法07-05

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院