Ajax提交表單時(shí)驗(yàn)證碼自動(dòng)驗(yàn)證 php后端驗(yàn)證碼檢測(cè)

字號(hào):


    本文通過(guò)源碼展示如何實(shí)現(xiàn)表單提交前,驗(yàn)證碼先檢測(cè)正確性,不正確則不提交表單,更新驗(yàn)證碼。
    1、前端代碼 index.html
    <!DOCTYPE html>
    <html>
    <head>
     <title>驗(yàn)證碼提交自驗(yàn)證</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <meta http-equiv="Content-Language" content="zh-CN" />
    </head>
    <body>
     <form action="doPost.php" method="POST">
      <div>
       <label for="username">用戶名</label>
       <input type="text" name="username" id="username" />
      </div>
      <div>
       <label for="mod-captcha-code">驗(yàn)證碼</label>
       <input name="code" id="mod-captcha-code" size="6" type="text"/>
       <img src="createcode.php?t=0" onclick="this.src=this.src.substring(0,this.src.indexOf('?')+1)+Math.random();return false;" />
       <script type="text/javascript" src="http://www.zjmainstay.cn/jquery/jquery-1.8.2.min.js"></script>
       <div></div>
      </div>
      <div>
       <input type="submit" value="提交"/>
      </div>
     </form>
    <script>
    (function($){
     $(document).ready(function(){
      $(".submitBtn").click(function() {
       var obj = $(this);
       $.ajax({
        url:'checkcode.php',
        type:'POST',
        data:{code:$.trim($("input[name=code]").val())},
        dataType:'json',
        async:false,
        success:function(result) {
         if(result.status == 1) {
          obj.parents('form').submit(); //驗(yàn)證碼正確提交表單
         }else{
          $(".code-img").click();
          $(".yzmtips").html('驗(yàn)證碼錯(cuò)誤!');
          setTimeout(function(){
           $(".yzmtips").empty();
          },3000);
         }
        },
        error:function(msg){
         $(".yzmtips").html('Error:'+msg.toSource());
        }
       })
       return false;
      })
     });
    })(jQuery);
    </script>
    </body>
    </html>
    2、后端驗(yàn)證碼檢測(cè) checkcode.php
    <?php
    /**
    * 用戶驗(yàn)證碼驗(yàn)證文件
    * @Author:Zjmainstay
    * @version : 1.0
    * @creatdate: 2013-10-4
    */
    session_start();
    echo json_encode(array('status'=>(int)($_SESSION["CHECKCODE"] == $_POST['code'])));
    exit; 
    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助