weixin_33721427 2015-05-02 01:40 采纳率: 0%
浏览 42

Ajax验证码检查

So basically I have this ajax code in my index.php that works:

 $(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;
  });
});

And in my 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 . ":
" . sanitize($_POST['txt_body']);
  $result = $smsGateway->sendMessageToNumber($number, $message, $deviceID)
}

?>

The captcha code also works but the problem is I want to show error in my index.php if captcha is wrong instead of alerting it on sendsms.php. Is it possible? Thank you

  • 写回答

2条回答 默认 最新

  • weixin_33682790 2015-05-02 02:04
    关注

    in your HTML form imbed the page URL or page name in a hidden input

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

    PHP

    <?php
    session_start();
    if (file_exists($_POST['back']) {
      include_once 'securimage/securimage.php';
      $securimage = new Securimage();
      if ($securimage->check($_POST['captcha_code']) == false) {
        include($_POST['back']);
        exit;
      }
      include "smsGateway.php";
      include "filter.php";
      $smsGateway = new SmsGateway('email@gmail.com', 'pword');
    
    评论

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)