Javascript 数据未插入DB-PHP MYSQL

Javascript 数据未插入DB-PHP MYSQL,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,尝试将注册验证与PHP和Ajax结合起来。不确定哪里出错,但提交没有发生。如果我不添加验证部分,一切看起来都很好,我可以将数据插入mysql <script type="application/javascript"> $("#submit").submit(function (event) { event.preventDefault(); var datatopost = $(this).serializeArray();

尝试将注册验证与PHP和Ajax结合起来。不确定哪里出错,但提交没有发生。如果我不添加验证部分,一切看起来都很好,我可以将数据插入mysql

<script type="application/javascript">

    $("#submit").submit(function (event) {
        event.preventDefault();
        var datatopost = $(this).serializeArray();
        console.log(datatopost);
        $.ajax({
            url: "signupregister.php",
            type: "POST",
            data: datatopost,
            success: function (data) {
                if (data) {
                    $("#signupmessage".html(data));
                }
            },
            error: function () {
                $("#signupmessage").html("<div class = 'alert alert-danger'></div>")
            }
        });
    });
</script>

$(“#提交”).submit(函数(事件){
event.preventDefault();
var datatopost=$(this.serializeArray();
console.log(datatopost);
$.ajax({
url:“signupregister.php”,
类型:“POST”,
数据:datatopost,
成功:功能(数据){
如果(数据){
$(#signupmessage.html(数据));
}
},
错误:函数(){
$(“#注册信息”).html(“”)
}
});
});
_


首先,在验证PHP脚本中,不需要包含'index.PHP'

在为遇到的第一个错误设置会话变量时,尝试将表单重定向到只包含验证数据的空白页

在验证结束时,如果错误变量包含错误,则可以重定向到表单并在方便的位置显示所述错误。请记住,如果要保留所有用户输入,则必须将表单数据保存在会话变量中(从而消除反复重新填充表单的麻烦)。 如果没有,您可以继续在数据库中插入数据,然后重定向到所需的登录页

以下是基于您的输入的示例代码:

<?php
  session_start();
  if(isset($_POST['submit'])){
        $_SESSION['fname'] = $_POST['fname'];
        //so on for your other variables
        if($_SESSION['fname'] == ""){
            $_SESSION['err'] = "First Name Required";
        }
        if(//insert your format validation for first name){
             $_SESSION['err'] = "First Name Invalid";}
        }
        //end of validation
        if isset($_SESSION['err']){
           header('Location: myform.php');
        }
        else{
            //save all your variables into normal ones, i.e $fname-$_POST['fname'];
           //insert into database;
           //check correct insertion;
           //redirect to landing page;
}
}
?>


立即发布PHP插入代码。我只列出了名字,但还有许多其他字段。请使用任何nrew代码更新问题(不要将其作为注释发布),您是说它是js\ajax问题还是php问题?我实际上不确定问题在哪里。日志文件也没有给我任何错误。此外,我无法在注册框上方显示错误消息。您的代码乱七八糟。我会处理格式化(对于初学者来说是缩进)。这将使您更容易维护自己的代码,也使我们更容易理解它。另一个具体点是,不要像在同一个文件中一样通过javascript和PHP攻击我们。或者这就是你的问题,你忘记了你的
,这很容易检查php是否真的被点击了,以及发布了什么,这将缩小问题的范围。(f12-浏览器开发人员工具,网络选项卡)
<?php
  session_start();
  if(isset($_POST['submit'])){
        $_SESSION['fname'] = $_POST['fname'];
        //so on for your other variables
        if($_SESSION['fname'] == ""){
            $_SESSION['err'] = "First Name Required";
        }
        if(//insert your format validation for first name){
             $_SESSION['err'] = "First Name Invalid";}
        }
        //end of validation
        if isset($_SESSION['err']){
           header('Location: myform.php');
        }
        else{
            //save all your variables into normal ones, i.e $fname-$_POST['fname'];
           //insert into database;
           //check correct insertion;
           //redirect to landing page;
}
}
?>