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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
php Undefined index的问题
Jun 01 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
memcached 和 mysql 主从环境下php开发代码详解
May 16 PHP
PHP+ACCESS 文章管理程序代码
Jun 21 PHP
pdo中使用参数化查询sql
Aug 11 PHP
php 流程控制switch的简单实例
Jun 07 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
php依赖注入知识点详解
Sep 23 PHP
php生成HTML文件的类方法
Oct 11 PHP
php接口隔离原则实例分析
Nov 11 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 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
canvas绘制多边形
2017/02/24 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
Python 列表的清空方式
2020/01/13 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
婚礼主持结束词
2014/03/13 职场文书
爱心募捐通知范文
2015/04/27 职场文书
党小组评议意见
2015/06/02 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript