Php 使用ajax提交表单:以前有效,现在无效?

Php 使用ajax提交表单:以前有效,现在无效?,php,ajax,Php,Ajax,我在signup.php中有以下HTML表单: <form id="signup" action="" method="POST" autocomplete="off" autocomplete="false"> <div class="signup_row action"> <input type="text" placeholder="What's your Name?" name="name" id="name" class="signup

我在signup.php中有以下HTML表单:

<form id="signup" action="" method="POST" autocomplete="off" autocomplete="false">
     <div class="signup_row action">
     <input type="text" placeholder="What's your Name?" name="name" id="name" class="signup" autocomplete="new-password" autocomplete="off" autocomplete="false" required />
     <input type="text" placeholder="Got an Email?" name="email" id="email" class="signup" autocomplete="new-password" autocomplete="off" autocomplete="false" required />
     <div class="g-recaptcha" style="margin-top:30px;" data-sitekey="6LeCkZkUAAAAAOeokX86JWQxuS6E7jWHEC61tS9T"></div>
     <input type="submit" class="signup_bt" name="submit" id="submt" value="Create My Account">
     </div> 
 </form>

我正在尝试使用ajax提交表单,无需刷新页面:

<!-- include files -->
<?php include 'assets/config.php';?>
<?php if(isset($_SESSION["CUSTOMER_ID"])){
header('Location: myaccount.php'); } ?>  


    <script>
      $(function () {

        $('form').on('submit', function (e) {      

          e.preventDefault();

          $.ajax({
            type: 'post',
            url: 'do_signup_check.php',
            data:{"name":name,"email":email},
            success: function () {
            if(result == 0){    
                $('.signup_side').fadeOut(500).promise().done(function() {
                $('.signup_side').load('do_signup.php',function(){}).hide().fadeIn(500);
            });
            }else{
                $('.signup_side').fadeOut(500).promise().done(function() {
                $('.signup_side').load('assets/login.php',function(){}).hide().fadeIn(500);
            }         
          });
        });
      });
    </script>

$(函数(){
$('form')。在('submit',函数(e){
e、 预防默认值();
$.ajax({
键入:“post”,
url:“do_signup_check.php”,
数据:{“name”:name,“email”:email},
成功:函数(){
如果(结果==0){
$('.signup_-side').fadeOut(500.promise().done(函数()){
$('.signup_side').load('do_signup.php',function(){}.hide().fadeIn(500);
});
}否则{
$('.signup_-side').fadeOut(500.promise().done(函数()){
$('.signup_-side').load('assets/login.php',function(){}.hide().fadeIn(500);
}         
});
});
});
我正在将表单发布到do_signup_check.php,并运行一个查询以查看用户是否已注册。回送1表示肯定结果,回送0表示否定结果:

Do_Signup_Check.php:

<?php
    session_start();        
    require 'assets/connect.php';


    $myName=$_POST["name"];
    $myEmail=$_POST["email"];

    $check = mysqli_query($conn, "SELECT * FROM user_verification WHERE email='".$myEmail."'");

    if (!$check) {
    die('Error: ' . mysqli_error($conn)); }

    if(mysqli_num_rows($check) > 0){
        echo '1';
    }else{  
        echo '0';
    }

?>

如果结果为0,那么ajax应该加载我的页面do_signup.php。 但是,唉,它还没走到这一步。它正在工作,然后我关掉电脑,回到它身边,现在它不工作了

有人能告诉我哪里出错了吗?

如果(result==0){
这里的result没有在success函数中使用:

您必须在此处传递结果变量:

success: function () {
作为:

现在,如果(result==0){

其次,我建议您在ajax请求中传递
数据类型:“html”

编辑:


您正在使用
那么您更改了什么?浏览器控制台中是否有错误?您做错的一件事是直接将值插入SQL语句,使用准备好的语句。您没有为javascript中的
名称
电子邮件
变量赋值。更改
数据:{“name”:名称,“email”:email},
数据:{name:name,email:email},
此外,第一个PHP脚本的整个过程都依赖于会话变量CUSTOMER\u ID;如果不存在,请返回一些内容以检查此情况。
success: function (result) {