Ajax 不会将登录表单的数据传递给 PHP 进程文件


Ajax not passing data for login form to PHP process file

我有PHP AJAX登录脚本。它几乎完成了,它的工作方式是用户输入他们的信息,然后将他们带到登录页面。我的问题是来自 AJAX 文件的输入没有发送到 PHP 文件。

顺便说一句,它不会给我任何错误。

这是代码:

HTML: '

<div class="form-group">
 <div class="col-sm-5">
  <input type="text" class="form-control" name="userName" id="userName" placeholder="Your username">
 </div>
</div>
<div class="form-group">
 <div class="col-sm-5">
  <input type="text" class="form-control" name="passWord" id="passWord" placeholder="Your password">
 </div>
</div>
<div class="form-group">
  <div class="col-sm-5">
    <input type="button" onclick="submitRef()" class="form-control" value="Login">
  </div>
</div>
<div id="Divvy"></div>
</form>`

这是 AJAX/Jquery

    <script type="text/javascript">
function submitRef(){
  if(userName == "" ){
    alert("You must enter something");
  }else{
    $.ajax({
    type: 'post',
    url: 'adminLoginProcess.php',
    cache: false,
    data: {
      userName: $("#userName").val(),
      passWord: $("#passWord").val()
    },
    success: function (response) {
      window.location.href="adminLoginProcess.php";
    }
});
  }
}
</script>

这是 PHP

'

<?php
session_start();
include "conn.php";
$userName = $_POST['userName'];
$passWord = md5($_POST['passWord']);
echo $userName;
echo "</br>";
echo "</br>";
echo $passWord;
$query = "SELECT uname, pass FROM Login WHERE uname = '$userName' AND pass = '$passWord'";
$result = mysqli_query($conn, $query) or die (mysqli_error());
$num_rows = mysqli_num_rows($result);
$row = mysqli_fetch_array($result);
if($num_rows == 1){
    $_SESSION['userName'] = $userName;
    echo $userName;
    echo "logged in";
}else{
    echo "Wrong details";
}
$conn->close();
?>

'

变量"用户名"未在函数范围内定义。应该是这样的。试试这个,看看是否有帮助。

if($("#userName").val() == " ){

像这样更改代码:

<form id="main_form">
    <div class="form-group">
 <div class="col-sm-5">
  <input type="text" class="form-control" name="userName" id="userName" placeholder="Your username">
 </div>
</div>
<div class="form-group">
 <div class="col-sm-5">
  <input type="text" class="form-control" name="passWord" id="passWord" placeholder="Your password">
 </div>
</div>
<div class="form-group">
  <div class="col-sm-5">
    <input type="button"  id="form_submit_btn" class="form-control" value="Login">
  </div>
</div>
<div id="Divvy"></div>
</form>

和 js 代码:

$(document).on("click", "#form_submit_btn", function(e) {
 $.ajax({
    type: 'post',
    url: 'adminLoginProcess.php',
    cache: false,
    data:  $("#main_form").serialize(),
    success: function (response) {
      window.location.href="adminLoginProcess.php";
    }
});
});