Salve a tutti.
Ho un problema tra lo scambio di dati tra Javascript e PHP, so che potrebbe essere difficile ovviare a questa cosa
essendo due linguaggi rispettivamente client-side e server-side ma ho visto alcuni modi che sembrano funzionare
anche se non riesco a metterli in pratica.
Vi spiego il problema:
Codice Javascript:
Codice HTML:
<center><button name="button" onclick="getLocation()">Posizione</button></center>
<p id="demo"></p>
<script type="text/javascript">
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "La geolocalizzazione non è supportata da questo browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
window.location.assign("index.php?var1="+position.coords.longitude+"&var2="+ position.coords.latitude);
}
</script>
Codice PHP :
Codice PHP:
<?php
$lon = $GET["var1"];
$lat = $GET["var2"];
$time = date('d/m/Y H:i:s');
$fp = fopen('dati.txt', 'a+');
fwrite($fp, "{$time} | {$_SERVER['REMOTE_ADDR']} | {$_SERVER['HTTP_USER_AGENT']} | {$lon} | {$lat} | \n");
fclose($fp);
?>
Fin quando si tratta di stampare a video la longitudine e la latitudine non ci sono problemi, quando cerco, attraverso PHP, di scriverli in un file come dati.txt lascia gli spazi vuoti.
Ho usato: window.location.assign("index.php?var1="+position. coords.longitude+"&var2="+ position.coords.latitude);
per "salvare" i dati nell'URL della pagina ed effettivamente i dati vengono scritti nell'URL ma poi PHP non riesce prenderli e salvarli in dati.txt.
I due codici (JavaScript e PHP) si trovano nella stessa pagina.
Qualcuno sà come risolvere il problema?