Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX将数据发送到PHP文件,但PHP可以';无法从$\u POST获取数据_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript AJAX将数据发送到PHP文件,但PHP可以';无法从$\u POST获取数据

Javascript AJAX将数据发送到PHP文件,但PHP可以';无法从$\u POST获取数据,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在用PHP在一个网站上创建一个页面,其中一个用户填写3个字段并点击submit。submit按钮应该调用my AJAX函数将数据发送到数据库连接PHP文件。我可以确认数据是从AJAX发送的(通过警报),并且函数返回成功。这一定意味着我的数据库查询文件没有正确解释数据。请帮我理解我哪里出错了 来自php页面的代码,其中表单为: <script type="text/javascript"> function storeInvoice() { //var c_name = d

我正在用PHP在一个网站上创建一个页面,其中一个用户填写3个字段并点击submit。submit按钮应该调用my AJAX函数将数据发送到数据库连接PHP文件。我可以确认数据是从AJAX发送的(通过警报),并且函数返回成功。这一定意味着我的数据库查询文件没有正确解释数据。请帮我理解我哪里出错了

来自php页面的代码,其中表单为:

<script type="text/javascript">
function storeInvoice() {
    //var c_name = document.getElementById('c_name');
    //var c_license = document.getElementById('c_license');                         
    //var c_licenseemail = document.getElementById('c_licenseemail');
    var data=$('#myForm').serialize();
        $.ajax({
        url: "/paydb.php",
        type: "POST",
        data: data,
        async:false,
        dataType:'html',
        success: function (value) {
            alert("Sent: "+data);
        }
    });
}
</script>
数据发送方式为:

c_name=testname&c_license=3&c_licenseemail=testemail%40email.com

非常感谢您的帮助

在成功回调函数中,将
警报(数据)
替换为
警报(值)
,并在
数据库中。php
文件回显任何post变量,以检查值是否通过ajax post正确发送到
数据库。php

在成功回调函数中,替换
警报(数据)
带有
警报(值)
并在
数据库中.php
文件中回显任何post变量,以检查值是否通过ajax post正确发送到
数据库.php

请使用

mysqli_query($conn, $query) or die(mysqli_error($conn));
对于重复键,您需要使主键在数据库中自动递增。

请使用

mysqli_query($conn, $query) or die(mysqli_error($conn));

对于复制键,您需要使主键在数据库中自动递增。

表示了解的语句。即使是这样也不安全!他在AJAX调用中使用POST方法@dan08@dan08serialize以这种方式发送数据,他仍然可以使用$\u POST varsplese检索数据,改为使用
console.log()
。表示了解的语句。即使是这样也不安全!他在AJAX调用中使用POST方法@dan08@dan08serialize以这种方式发送数据,他仍然可以使用$\u POST varsplese检索数据,请改用
console.log()
。请改用
console.log()
。回声具有正确的值。例如,如果在该字段中键入了3,则echo“c_license”会发回3。这是wierd,它只在做了这些小更改后将查询发送到DB。但它只起了两次作用,现在已经不起作用了。我搞糊涂了。请改用
console.log()
。回声值正确。例如,如果在该字段中键入了3,则echo“c_license”会发回3。这是wierd,它只在做了这些小更改后将查询发送到DB。但它只起了两次作用,现在已经不起作用了。我很困惑……非常有帮助,谢谢。现在似乎正在按计划工作。很高兴,我能帮忙。非常有帮助,谢谢。现在似乎正在按计划工作。很高兴,我能帮上忙。