【发布时间】:2015-04-07 13:42:09
【问题描述】:
我正在尝试对用户提交的地址进行地理编码并将其存储到数据库中。该表单调用一个 php 文件,其中 javascript 检索地址并对其进行地理编码。然后将 lat 和 lng 值传递给 php 并存储在数据库中,但是数据库中唯一的值是零。
HTML 文件:
<html>
<body>
<form action="registerEvent.php" id="form" method="post">
<input id="address" name="address" placeholder="Adrese" type="text">
<button type="submit" id="submit">Send</button>
</form>
</body>
</html>
registerEvent.php:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script>
var geocoder;
var inputLat;
var inputLng;
function codeAddress() {
geocoder = new google.maps.Geocoder();
var address = document.getElementById('address').value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var inputLat = event.latLng.lat();
var inputLng = event.latLng.lng();
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
function passvariable() {
window.location.href = "registerEvent.php?lat=" + inputLat;
window.location.href = "registerEvent.php?lng=" + inputLng;
}
codeAddress();
passvariable();
</script>
<?php
require("dbinfo.php");
$connection=mysqli_connect ('localhost', $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysqli_select_db($connection, $database);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
$lat =$_GET['inputLat'];
$lng =$_GET['inputLng'];
$sql = "INSERT INTO sometable (lat, lng)
VALUES ('$lat', '$lng')";
if (!mysqli_query($connection,$sql)) {
die('Error: ' . mysqli_error($connection));
};
mysqli_close($connection);
?>
【问题讨论】:
标签: javascript php html database geocoding