表单数据提交

时间:2019-11-21 14:05:53

标签: javascript php html

html代码

<form><input name="mailselect" type="email" id="mailselect" class="form-control"   required autocomplete="off">
        <input id="password" name="password" type="password" class="form-control" required autocomplete="off">
        <input id="confirm_password" onkeyup='check()' onChange="check()" name="confirm_password" type="password" required autocomplete="off" class="form-control">
    <input type="hidden" name="btc_register" value="">
    <input type="hidden" name="referral" value="" id="myrefnum">
    <button type="button" name="btnsub" id="BtnSignUp">Submit </button>
</form>

javascript函数

$(document).on('click', '#BtnSignUp', function() {
 var email = $('#mailselect').val();
  var pass = $('#confirm_password').val();
  var RefNum = $('#myrefnum').val();

  if (email != '' && pass != '') {
    $.ajax({
      url: "register-execute.php",
      method: "POST",
      data: {
        email: email,
        pass: pass,
        RefNum: RefNum
      },
      success: function(data) {
        $('#message').html('<div class="alert-success">' + data + '</div>');
      }
    });

    setInterval(function() {
      $('#message').html('');
    }, 5000);
  } else {
    alert("All Fields are required");
  }
});

我的按钮不适用于注册执行页面。即使不是它也返回任何来自php end的消息。我还编辑了我在电子邮件输入标签中的错误。但仍然无法正常工作。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您没有ID为mailselect的任何东西。要解决此问题,您必须像这样更改输入(还应添加一个name属性):

<input type="email" class="form-control" name="mailselect"  id="mailselect" required autocomplete="off">

因为#mailselect没有值,所以您永远不要在此处输入if条件:

if (email != '' && pass != '') {

此外-

我知道您没有在此处发布PHP,但是我可以假设,根据此处的编码,您应该注意以下几点:

Little Bobby your script is at risk for SQL Injection Attacks. 了解有关preparedMySQLi语句。甚至escaping the string都不安全!

切勿存储纯文本密码!!请使用 PHP的built-in functions 来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用password_hash() compatibility pack 在散列之前,无需escape passwords 或对它们使用任何其他清除机制。这样做更改密码并导致不必要的附加编码。