我有两页。第一页有两种文本形式,如下所示:
<form name="NameForm">
Name: <input type = "text" name = "uname">
Location: <input type = "text" name = "ulocation">
<button type="button" onClick="MakeRequest()"">Save</button>
</form>
它使用 javascript 将信息推送到第二页(请注意,这与上面的代码在同一页面上):
<script>
function MakeRequest()
{
// get values
var uname = document.NameForm.uname.value;
var ulocation = document.NameForm.ulocation.value;
// validation stuff here that detects browser
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("result").innerHTML=xmlhttp.responseText;
}
}
var url = "location.php?uname=" + uname + "&ulocation=" + ulocation;
xmlhttp.open("POST", url, true);
xmlhttp.send();
}
</script>
所以问题是这样的,页面上执行所有服务器通信的 php 脚本没有从这个 post 请求中读取变量并将其存储到我的数据库中。(我查看数据库中项目的其他 get 方法工作正常)
if (isset($_POST['uname']))
{
$name = $_POST['uname'];
$location = $_POST['ulocation']
}
然后查询就像
//$table and the other undefined variables are the names of my table & columns
$query = "INSERT INTO $table ($tablename, $tablelocation) VALUES ('$name', '$location')";
基本上我正在尝试使该查询正常工作。如果我删除 If 语句,它会将 $name 存储到数据库,但不会存储 $location。
编辑:我忘了添加
<div id="result">
</div>