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


Posted in PHP onJuly 20, 2016

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

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 相关文章推荐
php Mysql日期和时间函数集合
Nov 16 PHP
php SQL Injection with MySQL
Feb 27 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
PHP系统命令函数使用分析
Jul 05 PHP
php数据类型判断函数有哪些
Sep 23 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 #PHP
PHP+Ajax验证码验证用户登录
Jul 20 #PHP
PHP+Ajax实现验证码的实时验证
Jul 20 #PHP
php+ajax注册实时验证功能
Jul 20 #PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 #PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 #PHP
php+flash+jQuery多图片上传源码分享
Jul 27 #PHP
You might like
PHP中的加密功能
2006/10/09 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
基于jquery的跨域调用文件
2010/11/19 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python中常用信号signal类型实例
2018/01/25 Python
python opencv之SURF算法示例
2018/02/24 Python
Django中Model的使用方法教程
2018/03/07 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
超市中秋节促销方案
2014/03/21 职场文书
员工薪酬激励方案
2014/06/13 职场文书
个人安全生产责任书
2014/07/28 职场文书
检讨书1000字
2014/10/11 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis