Reputation: 79
I would like to insert HTML5 location of the user into the database. So basically I want it to submit the location where the user is when he/she presses submit.
HTML5 location code:
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
My current code:
$post = filter_input(INPUT_POST, 'post', FILTER_SANITIZE_SPECIAL_CHARS);
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
INSERT INTO news (post, name, date, location) VALUES ('".$post."', '".$name."', '".date('Y-m-d H:i:s')."', '".$location."')
Upvotes: 0
Views: 1513
Reputation: 121
You will need an Ajax call for that such as:
function postData(phpFile, newData){
$.ajax({
type: 'POST',
data: newData,
url: phpFile,
success: function(data) {
},
error: function() {}
});
}
When the submit button is pressed you will call postData('yoursavephpfile.php', { "location" : getLocation() }); via a onclick attribute. (Assuming your getLocation returns the location value) NOTE: don't forget to add the latest jquery to your header:
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript"></script>
Your php file would look like:
<?php
$location = $_POST['location'];
//Then perform your query here......
?>
Upvotes: 2