首页 > 解决方案 > jquery 运行良好,但为什么没有数据发布在 db 中?

问题描述

我正在尝试使用 qjuery 和 ajax 向 php 控制器发出用户注册请求,但我很惊讶 ajax 成功警报与成功注册但是当我查看我的数据库时,没有发布任何数据!这里可能是什么问题

$(document).ready(function () {
$("#reg-btn").on('click', function(e) {
    e.preventDefault()

var firstname = $("#fname").val();
var lastname = $("#lname").val();
var email = $("#email").val();
var contactNumber = $("#contact-number").val();
var password = $("#password").val();
var repeatPassword = $("#repeat-password").val();


if(!pregMatch(firstname)){
    Swal.fire({
        icon: 'error',
        title: 'Registration Failed',
        text: 'Alphabet And White Space Characters Allowed',
      })

}else{
    $.ajax({
        url: "../controller/log-reg.php",
        type: "POST",
        data: {
            firstname : firstname,
            lastname : lastname,
            email : email,
            contactNumber : contactNumber,
            password : password,
            repeatPassword : repeatPassword,
            
         },
         success:function(data){ 
                if(data == 'reg-failed'){
                    Swal.fire({
                        icon: 'error',
                        title: 'Registration Failed',
                        text: 'Something went wrong!, Try Again',
                    })
                    }else if(data == "email-taken"){    
                    Swal.fire({
                        icon: 'error',
                        title: 'Registration Failed',
                        text: 'Email taken!, Try Again',
                    })
                    }else{
                        $("#register").modal("hide");
                        Swal.fire({
                            icon: 'success',
                            title: 'Registration successful',
                            text: 'You are a registred member, you can login now!',
                        })
                        // location.reload();
                }     
         },
    });
 } 

})

})

这是处理将数据发布到数据库的 .php 文件, 我使用准备好的语句来执行查询

<?php
error_reporting(E_ALL);
init_set('display_errors', 1);
session_start();

$conn =mysqli_connect('localhost', 'root', '', 'shopping_cart_with_paypal');

if(isset($_POST['fname'])){
$first_name = $_POST['fname'];
$last_name = $_POST['lname'];
$email = $_POST['email'];
$contact_number = $_POST['contact_number'];
$password = $_POST['password'];
$password_repeat = $_POST['password_repeat'];

$emailQuery = $conn->prepare("SELECT * FROM users WHERE email = ?");
$emailQuery->bind_param("s", $email);
$emailQuery->execute();


$result = $emailQuery->get_result();
if($result->num_rows > 0){
    echo "email-taken";
    ;
}else{
    $insert = $conn->prepare("INSERT INTO users(first_name, last_name, email, contact_number, password) VALUES (?,?,?,?,?)");
    $passwordHash = md5($password);
    $insert->bind_param("ssssss", $first_name , $last_name, $email, $contact_number, $passwordHash);
    if($insert->execute()){
        echo "reg-success";
        exit();
    }else{
        echo "reg-failed";
    }
    $insert->close();
    $conn->close();
}

}

标签: phpjquerymysqlajaxregistration

解决方案


推荐阅读