Ajax提交表单时验证码自动验证 php后端验证码检测

5年以前  |  阅读数:261 次  |  编程语言: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="width:80px" type="text"/>
       <img class="code-img" style="height:30px;width: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; 

源码下载地址:Ajax实现提交表单时验证码自动验证

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例