Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
$POST PHP问题_Php_Mysql_Html_Xhtml - Fatal编程技术网

$POST PHP问题

$POST PHP问题,php,mysql,html,xhtml,Php,Mysql,Html,Xhtml,不知是否有人能帮助我 我目前正在开发一个网站,通过用户输入表单、XML和PHP,用户可以将google地图信息添加并保存到我的SQL数据库中 我已经成功地使用了Google站点上的一个示例,它解释了如何使用PHP和XML将用户定义的信息保存到数据库中 该示例使用$GET方法,但从我在web上阅读的信息来看,$POST选项似乎是更好的方法 但是,当我将编码更改为$POST方法时,我可以在数据库上创建一条记录,但键入表单中的值不会跨数据库复制。我知道我可能犯了一个非常愚蠢的初学者错误,但我只是想知道

不知是否有人能帮助我

我目前正在开发一个网站,通过用户输入表单、XML和PHP,用户可以将google地图信息添加并保存到我的SQL数据库中

我已经成功地使用了Google站点上的一个示例,它解释了如何使用PHP和XML将用户定义的信息保存到数据库中

该示例使用$GET方法,但从我在web上阅读的信息来看,$POST选项似乎是更好的方法

但是,当我将编码更改为$POST方法时,我可以在数据库上创建一条记录,但键入表单中的值不会跨数据库复制。我知道我可能犯了一个非常愚蠢的初学者错误,但我只是想知道是否有人能告诉我需要做什么才能让它工作

我在下面列出了这些文件的精简版本

非常感谢

克里斯

HTML表单提交按钮

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">