Php Jquery表单使用参数序列化
我做了一个有几个输入的表格。如果我键入其中一个输入,它将向mysql插入一个新行。但是如果我想用每个新的fielddate更新我的sql,它就会丢失,因为我不知道如何将数据发送到mysql 以下是我的脚本: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
<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表单提交,而不会触发“提交”处理程序。我想这就是你遇到问题的原因。