I'm newbie to Ajax, I know when I want to pass data to PHP file I need to use Ajax, but I not sure the Ajax can use like what I coded. If can't, anybody can help me on this? Cause I want to use the html5 geolocation to get the user location. I tried geoplugin before but the IP I get always is the server IP not the user IP, I got try to ask here for the geoplugin but no work. I have tried this html5 geolocation to display my lon and lat, it is correct one, but I want to pass the variable to another PHP file for calculate the nearest distance with data get from MySQL.
In index.php
<script>
$(document).ready(function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showLocation);
} else {
$('#location').html('Geolocation is not supported by this browser.');
}
});
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
type:'POST',
url:'index1.php',
data:'latitude='+latitude+'&longitude='+longitude
}
});
}
</script>
In index1.php
<?php
session_start();
$link=mysqli_connect("localhost","id2135226_ukwai1203","ukwai1203");
mysqli_select_db($link,"id2135226_demo");
$lat=$_POST['latitude'];
$lon=$_POST['longitude'];
$sql = "select branch_id,(6371 * 2 * ASIN(SQRT( POWER(SIN(($lat -
branch_lat)*pi()/180/2),2)+COS($lat*pi()/180
)*COS(branch_lat*pi()/180)*POWER(SIN(($lon-branch_lon)*pi()/180/2),2))))
as
distance From Branch ORDER BY distance ASC LIMIT 1";
$res=mysqli_query($link,$sql);
while($row=mysqli_fetch_array($res)){
$_SESSION['location']=$row['branch_id'];
?>
<script>
window.location="http://ukwai1203.000webhostapp.com/fyp/user/shop.php";
</script>
<?php
}
?>