Php Ajax验证码检查

Php Ajax验证码检查,php,jquery,ajax,Php,Jquery,Ajax,基本上,我在index.php中有一段ajax代码,它可以工作: $(function() { $("#submitbtn").click(function() { var txt_from = $("#txt_from").val(); var txt_body = $("#txt_body").val(); var captcha_code = $("#captcha_code").val(); var txt_number = $("#txt_numb

基本上,我在index.php中有一段ajax代码,它可以工作:

 $(function() {
  $("#submitbtn").click(function() {
    var txt_from = $("#txt_from").val();
    var txt_body = $("#txt_body").val();
    var captcha_code = $("#captcha_code").val();
    var txt_number = $("#txt_number").val();
    var dataString = 'txt_from=' + txt_from + '&txt_body=' + txt_body + '&captcha_code=' + captcha_code + '&txt_number=' + txt_number;
    if (txt_body == '' || txt_number == '' || txt_from == '' || captcha_code == '') {
      $('.alertsuccess').fadeOut(200).hide();
      $('.alerterror').fadeIn(200).show();
      //$('.alert-box').fadeIn(200).show();
    } else {
      $.ajax({
        type: "POST",
        url: "sendsms.php",
        data: dataString,
        success: function() {
          $('.alertsuccess').fadeOut(200).hide();
          $('.alertsuccess').fadeIn(200).show();
          $('.alerterror').fadeOut(200).hide();
          document.getElementById('captcha').src = 'securimage/securimage_show.php?' + Math.random();
          $('#txt_from').val('');
          $('#txt_body').val('');
          $('#txt_number').val('');
          $('#captcha_code').val('');
        }
      });
    }
    return false;
  });
});
在我的sendsms.php中

 <?php
session_start();

if ($_POST) {
  include_once 'securimage/securimage.php';

  // header('Location: maintenance.php');

  $securimage = new Securimage();
  include "smsGateway.php";

  include "filter.php";

  $smsGateway = new SmsGateway('email@gmail.com', 'pword');
  if ($securimage->check($_POST['captcha_code']) == false) {
    echo "<script>alert('The security code entered was incorrect. Please go back and try again.');window.location.href='javascript:history.go(-1)';</script>";
    exit;
  }

  $numto = sanitize($_POST['txt_number']);
  $num = "+63" . $numto;
  $deviceID = 1254;
  $number = $num;
  $from = $_POST['txt_from'];
  $message = $from . ":\n" . sanitize($_POST['txt_body']);
  $result = $smsGateway->sendMessageToNumber($number, $message, $deviceID)
}

?>

HTML表单中的
将页面URL或页面名称嵌入到隐藏的输入中

 <input type="hidden" name="back" value="index.html" />

PHP
您可以通过在php文件上创建json编码的响应来实现

echo json_encode(数组('status'=>'failed','message'=>'输入的安全代码不正确。请返回并重试')

然后,在ajax成功的情况下,检查它是否返回了成功状态

您的脚本

$(function() {
  $("#submitbtn").click(function() {
    var txt_from = $("#txt_from").val();
    var txt_body = $("#txt_body").val();
    var captcha_code = $("#captcha_code").val();
    var txt_number = $("#txt_number").val();
    var dataString = 'txt_from=' + txt_from + '&txt_body=' + txt_body + '&captcha_code=' + captcha_code + '&txt_number=' + txt_number;
    if (txt_body == '' || txt_number == '' || txt_from == '' || captcha_code == '') {
      $('.alertsuccess').fadeOut(200).hide();
      $('.alerterror').fadeIn(200).show();
      //$('.alert-box').fadeIn(200).show();
    } else {
      $.ajax({
        type: "POST",
        url: "sendsms.php",
        data: dataString,
        success: function(response) {
          response = $.parseJSON(response);
          if (response) {
            if (response.status == 'success') {
              $('.alertsuccess').fadeOut(200).hide();
              $('.alertsuccess').fadeIn(200).show();
              $('.alerterror').fadeOut(200).hide();
              document.getElementById('captcha').src = 'securimage/securimage_show.php?' + Math.random();
              $('#txt_from').val('');
              $('#txt_body').val('');
              $('#txt_number').val('');
              $('#captcha_code').val('');
            } else if (response.status == 'failed') {
              $("#divToErrorMessage").html(response.message);
            }
          }
        }
      });
    }
    return false;
  });
});
PHP

<?php
session_start();

if ($_POST) {
  include_once 'securimage/securimage.php';

  // header('Location: maintenance.php');

  $securimage = new Securimage();
  include "smsGateway.php";

  include "filter.php";

  $smsGateway = new SmsGateway('email@gmail.com', 'pword');
  if ($securimage->check($_POST['captcha_code']) == false) {
    echo json_encode(array( 'status' => 'failed', 'message'=> 'The security code entered was incorrect. Please go back and try again.' )); 
  }
  else {
    $numto = sanitize($_POST['txt_number']);
    $num = "+63" . $numto;
    $deviceID = 7621;
    $number = $num;
    $from = $_POST['txt_from'];
    $message = $from . ":\n" . sanitize($_POST['txt_body']);
    $result = $smsGateway->sendMessageToNumber($number, $message, $deviceID);
    echo json_encode(array( 'status' => 'success', 'message'=> 'The security code entered was correct.' )); 
  }
}

?>


您从哪里获得value=“index.html”?谢谢你把它和你的HTML放在一起。如果手动编写HTML,只需在隐藏输入中键入页面名称。如果PHP生成所有页面,您可以使用$\u服务器[“请求URI”]$\u服务器[“脚本文件名”]$\u服务器[“脚本名称”]$\u服务器[“PHP自身”]$\u环境[“请求URI”]Pinoy?再次感谢:)
<?php
session_start();

if ($_POST) {
  include_once 'securimage/securimage.php';

  // header('Location: maintenance.php');

  $securimage = new Securimage();
  include "smsGateway.php";

  include "filter.php";

  $smsGateway = new SmsGateway('email@gmail.com', 'pword');
  if ($securimage->check($_POST['captcha_code']) == false) {
    echo json_encode(array( 'status' => 'failed', 'message'=> 'The security code entered was incorrect. Please go back and try again.' )); 
  }
  else {
    $numto = sanitize($_POST['txt_number']);
    $num = "+63" . $numto;
    $deviceID = 7621;
    $number = $num;
    $from = $_POST['txt_from'];
    $message = $from . ":\n" . sanitize($_POST['txt_body']);
    $result = $smsGateway->sendMessageToNumber($number, $message, $deviceID);
    echo json_encode(array( 'status' => 'success', 'message'=> 'The security code entered was correct.' )); 
  }
}

?>