$POST PHP问题
不知是否有人能帮助我 我目前正在开发一个网站,通过用户输入表单、XML和PHP,用户可以将google地图信息添加并保存到我的SQL数据库中 我已经成功地使用了Google站点上的一个示例,它解释了如何使用PHP和XML将用户定义的信息保存到数据库中 该示例使用$GET方法,但从我在web上阅读的信息来看,$POST选项似乎是更好的方法 但是,当我将编码更改为$POST方法时,我可以在数据库上创建一条记录,但键入表单中的值不会跨数据库复制。我知道我可能犯了一个非常愚蠢的初学者错误,但我只是想知道是否有人能告诉我需要做什么才能让它工作 我在下面列出了这些文件的精简版本 非常感谢 克里斯 HTML表单提交按钮$POST PHP问题,php,mysql,html,xhtml,Php,Mysql,Html,Xhtml,不知是否有人能帮助我 我目前正在开发一个网站,通过用户输入表单、XML和PHP,用户可以将google地图信息添加并保存到我的SQL数据库中 我已经成功地使用了Google站点上的一个示例,它解释了如何使用PHP和XML将用户定义的信息保存到数据库中 该示例使用$GET方法,但从我在web上阅读的信息来看,$POST选项似乎是更好的方法 但是,当我将编码更改为$POST方法时,我可以在数据库上创建一条记录,但键入表单中的值不会跨数据库复制。我知道我可能犯了一个非常愚蠢的初学者错误,但我只是想知道
function savedata() {
var locationname = document.getElementById("locationname").value;
var returnedaddress = document.getElementById("returnedaddress").value;
var url = "phpfilename.php?locationname=" + locationname + "&returnedaddress=" + returnedaddress;
downloadUrl(url, function(data, responseCode) {
if (responseCode == 200 && data.length <= 1) {
}
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};
request.open('POST', url, true);
request.send(null);
}
function doNothing() {}
</script>
函数savedata(){
var locationname=document.getElementById(“locationname”).value;
var returnedaddress=document.getElementById(“returnedaddress”).value;
var url=“phpfilename.php?locationname=“+locationname+”&returnedaddress=“+returnedaddress;
下载url(url,函数(数据,响应代码){
如果(responseCode==200&&data.length使用查询字符串传递值,则需要使用$\u get来获取这些值
var url = "phpfilename.php?locationname=" + locationname + "&returnedaddress=" + returnedaddress;
要使用$\u POST,请通过request.send()方法发送,而不是将编码的名称/值对添加到URL的末尾:
一般的经验法则是,如果您的目标页面只需要使用GET检索一些信息,那么就可以了,但是如果您的数据需要对数据库等进行任何更改,那么您应该始终使用POST
顺便说一句,您的表单标签必须包含您在本例中提交数据所使用的方法method=“post”
只有在使用AJAX保存数据时,这才有效。否则,请看holodoc给出的答案。您好,非常感谢您阅读我的帖子,提供的信息有助于让事情更清楚。
<?php
require("phpfilename.php");
// Gets data from URL parameters
$locationname = $_POST['locationname'];
$address = $_POST['returnedaddress'];
// Opens a connection to a MySQL server
$connection = mysql_connect ("xxxxxxxx", $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
// Insert new row with user data
$query = sprintf("INSERT INTO tablename " .
" (locationname, address) " .
" VALUES ('%s', '%s', '%s' );",
mysql_real_escape_string($locationname),
mysql_real_escape_string($address));
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
var url = "phpfilename.php?locationname=" + locationname + "&returnedaddress=" + returnedaddress;
request.send("locationname=" + locationname + "&returnedaddress=" + returnedaddress);
<form name="searchforlocationformgeocode" id="searchforlocationformgeocode" method="post">