zoukankan      html  css  js  c++  java
  • Ajax提交表单时验证码自动验证 php后端验证码检测

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码。

    1、前端代码 index.html

     <!DOCTYPE html>
    <html>
    <head>
     <title>验证码提交自验证</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 class="row">
       <label for="username">用户名</label>
       <input type="text" name="username" id="username" />
      </div>
      <div class="row">
       <label for="mod-captcha-code">验证码</label>
       <input name="code" id="mod-captcha-code" size="6" class="zjcaptcha" style="80px" type="text"/>
       <img class="code-img" style="height:30px;80px;" 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 class="yzmtips" style="color:red"></div>
      </div>
      <div class="row">
       <input type="submit" value="提交" class="submitBtn"/>
      </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(); //验证码正确提交表单
         }else{
          $(".code-img").click();
          $(".yzmtips").html('验证码错误!');
          setTimeout(function(){
           $(".yzmtips").empty();
          },3000);
         }
        },
        error:function(msg){
         $(".yzmtips").html('Error:'+msg.toSource());
        }
       })
       return false;
      })
     });
    })(jQuery);
    </script>
    </body>
    </html>

     2、后端验证码检测 checkcode.php

     <?php
    /**
    * 用户验证码验证文件
    * @Author:Zjmainstay
    * @version : 1.0
    * @creatdate: 2013-10-4
    */
    session_start();
    echo json_encode(array('status'=>(int)($_SESSION["CHECKCODE"] == $_POST['code'])));
    exit; 
    
  • 相关阅读:
    js点击重置按钮重置表单
    Flash文件在asp页面无法播放,网页上面的Flash文件在火狐浏览器不播放
    更新域名解析以后,IP在cmd中ping不正确,清理DNS缓存
    简单PHP会话(session)说明
    delphi 事件和属性的绑定
    读书笔记(乡土中国)
    读书笔记(支付战争)
    读书笔记(从0到1)
    读书笔记(创业维艰)
    读书笔记(三体)
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/6805090.html
Copyright © 2011-2022 走看看