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版(4)
Oct 09 PHP
PHP脚本的10个技巧(6)
Oct 09 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
浅析iis7.5安装配置php环境
May 10 PHP
php操作路径的经典方法(必看篇)
Oct 04 PHP
laravel5.4生成验证码的实例讲解
Aug 05 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php实现数组重复数字统计实例
Sep 30 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
php经典趣味算法实例代码
Jan 21 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
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
php实现文件下载更能介绍
2012/11/23 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
解决Python传递中文参数的问题
2015/08/04 Python
python开发之str.format()用法实例分析
2016/02/22 Python
python pandas生成时间列表
2019/06/29 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
python游戏开发的五个案例分享
2020/03/09 Python
Python如何实现定时器功能
2020/05/28 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
元旦晚会感言
2014/03/12 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers