私は誰かが私を助けることができるかもしれないかと思います。
私は現在、ユーザー入力フォーム(XMLとPHP)を使用して、Googleマップ情報をSQLデータベースに追加して保存するWebサイトで作業しています。
私は、PHPとXMLを使用してユーザー定義情報をデータベースに保存する方法を説明しているGoogleサイトの例の1つを使用して成功しました。
この例では$ 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>
HTMLフォーム
<body>
<label><br />
</label>
<form name="searchforlocationformgeocode" id="searchforlocationformgeocode">
<div>
<label for="address">
<div align="center">
<p>Location Name</p>
<p>
<input name="locationname" type="text" id="locationname" size="80" />
</p>
</div>
<p align="left"><label>Returned Address</label> </p>
<div align="left">
<input name="returnedaddress" type="text" id="returnedaddress" size="100" />
</div>
PHPファイル
<?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());
}
?>
この場合には、あなたがデータを送信するために使用している方法が含まれている必要があります。さもなければ、ホロドックによって与えられた答えを見てください。 – fromvega
こんにちは、私のポストを見てくれてありがとう、そして情報のために、それはceratinly物事をより明確にするのに役立ちます。 – IRHM