Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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
Php Jquery表单使用参数序列化_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php Jquery表单使用参数序列化

Php Jquery表单使用参数序列化,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我做了一个有几个输入的表格。如果我键入其中一个输入,它将向mysql插入一个新行。但是如果我想用每个新的fielddate更新我的sql,它就会丢失,因为我不知道如何将数据发送到mysql 以下是我的脚本: <script> Here I check and post a row to sql if this is the first keyup. $('.ajax').keyup(function(){ if(document.getElementById("id").valu

我做了一个有几个输入的表格。如果我键入其中一个输入,它将向mysql插入一个新行。但是如果我想用每个新的fielddate更新我的sql,它就会丢失,因为我不知道如何将数据发送到mysql

以下是我的脚本:

<script>

Here I check and post a row to sql if this is the first keyup.

$('.ajax').keyup(function(){
if(document.getElementById("id").value==0){
$.ajax({
    type:'get',
    data: { insert: "1" },
    url:location.href,
    dataType:'json',
    success:function(response){
       var id = response.id;
       if(typeof(id) != 'undefined'){
          $('#id').val(id);
       }
    }
  });
document.getElementById("id").value="1";
$("#rejtett1").show();
$("#rejtett2").show();
$("#rejtett3").show();
}
else{

  If not, here I post the form!

    $('#addfelhasznalo').delay(200).submit();
}

});

There I want to update the data to mysql.

$("#addfelhasznalo").submit(function (event) {
    event.preventDefault();
    $.ajax({
        type: "get",
        dataType: "json",
        url: location.href+"?update=1",
        data: $("#addfelhasznalo").serialize(),
        success: function (response) {
                 }
    });
});


</script>

if($_GET["insert"]){

mysql_query("INSERT into accounts() VALUES()");

}

if($_GET["update"]){

mysql_query("UPDATE accounts SET ".$_GET["field"]."=".$_GET["fielddata"]." WHERE id='".$_GET["id"]."'");

}

在这里,如果这是第一个键控,我将检查并向sql发布一行。
$('.ajax').keyup(函数(){
if(document.getElementById(“id”).value==0){
$.ajax({
类型:'get',
数据:{插入:“1”},
url:location.href,
数据类型:'json',
成功:功能(响应){
var id=response.id;
if(类型(id)!=“未定义”){
$('#id').val(id);
}
}
});
document.getElementById(“id”).value=“1”;
$(“#rejttet1”).show();
$(“#rejttet2”).show();
$(“#rejttet3”).show();
}
否则{
如果没有,我在这里张贴表格!
$('#addfelhasznalo')。延迟(200)。提交();
}
});
在这里,我想将数据更新到mysql。
$(“#addfelhasznalo”).submit(函数(事件){
event.preventDefault();
$.ajax({
键入:“获取”,
数据类型:“json”,
url:location.href+“?update=1”,
数据:$(“#addfelhasznalo”).serialize(),
成功:功能(响应){
}
});
});
如果($\u获取[“插入”]){
mysql_查询(“插入帐户()值()”;
}
如果($\u获取[“更新”]){
mysql_查询(“更新帐户集”。$_GET[“field”]。”=“$_GET[“fielddata”]。”其中id=”,“$_GET[“id”]。””);
}

您有严重的SQL注入漏洞,应该加以解决。另外,您不应该在PHP中使用不推荐使用的
mysql.*
函数。我建议可能使用
mysqli
PDO
。我还应该提到,在插入/更新数据时,使用POST方法是一种传统做法,因为您通常不希望人们在向URL添加内容时能够更改您的数据。这里的问题是什么?是的,您有哪些具体问题?你有错误吗?你有没有做过一些基本的调试来确定你的问题出在哪里?你是如何用变量如field和fielddata传递字段名和值的?“如果没有,我在这里发布表单!”。您真的想发布表单,还是想发出ajax请求
.submit()
将导致常规HTML表单提交,而不会触发“提交”处理程序。我想这就是你遇到问题的原因。