我有这个代码,并且测试两个值插入到mysql数据库时,它只是不插入任何东西。我混淆了值还是我的代码中有错误?使用wamp服务器。发生以下错误;
Undefined index: name in C:\wamp\www\info.php on line 3
Undefined index: desc in C:\wamp\www\info.php on line 4
但我尝试玩这些价值而无法理解。
的index.html
<html>
<head><title></title></head>
<body>
<form id="myForm" action="userInfo.php" method="post">
Name: <input type="text" name="name" /><br />
Age : <input type="text" name="age" /><br />
<button id="sub">Save</button>
</form>
<span id="result"></span>
<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="my_script.js" type="text/javascript"></script>
</body>
</html>
userinfo.php
<?php
include_once('db.php');
$name = $_POST['name'];
$age = $_POST['age'];
if(mysql_query("INSERT INTO user VALUES('$name', '$age')"))
echo "Successfully Inserted";
else
echo "Insertion Failed";
?>
myscript部分
$("#sub").click( function() {
$.post( $("#myForm").attr("action"),
$("#myForm :input").serializeArray(),
function(info){ $("#result").html(info);
});
});
$("#myForm").submit( function() {
return false;
});
function clearInput() {
$("#myForm :input").each( function() {
$(this).val('');
});
}
更新:仍无法修复。得到错误:
Notice: Undefined index: name in C:\wamp\www\userInfo.php on line 4
Notice: Undefined index: age in C:\wamp\www\userInfo.php on line 5
Insertion Failed
答案 0 :(得分:-1)
你能分享一下你正在使用的javascript代码吗?没有看到ajax调用就很难提供帮助。
我的两分钱将使用firebug或本地浏览器网络流量监视器来检查发送到服务器的标头。您希望确保在运行ajax请求时传递所有帖子参数。
另外,请确保您的ajax请求属于POST类型,并且您正在填写$ .post调用的数据字段,例如:
$.post('url_here', { "name": "form_name_value here", "desc" : "desc_for_value_here" })
<强>更新强> 对于serializeArray目标只有表单元素: https://api.jquery.com/serializeArray/
喜欢:
$("#myForm").serializeArray()