Variable jQuery à PHP

Résolu
Maitre2B Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   -  
 hassms -
Bonjour,

Je suis actuellement en stage et j'ai une fonction a réaliser:
Je dois affichier les restaurants les plus prêt autour de la personne.

Pour cela, j'ai donc ce script:

<script type="text/javascript">
var googleMap;

$(function() {
if(navigator.geolocation) {
startLocalisation();
} else {
alert('Votre navigateur ne supporte pas la géolocalisation HTML5');
}
});

function startLocalisation() {
//active le GPS
var userPosition = navigator.geolocation.getCurrentPosition(callbackSuccess, callbackError, {enableHighAccuracy: true});
}

function callbackSuccess(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
}

function callbackError(error) {
switch(error.code) {
case error.UNKNOWN_ERROR:
alert("La géolocalisation a rencontré une erreur.");
break;
case error.PERMISSION_DENIED:
alert("L'utilisateur n'a pas voulu donner sa position.");
break;
case error.POSITION_UNAVAILABLE:
alert("Les coordonnées de l'utilisateur n'ont pas pu être trouvées.");
break;
case error.TIMEOUT:
alert("La géolocalisation prend trop de temps.");
break;
}
}

</script>

Où la longitude et la latitude de la personne sont enregistrées dans les variables:

var latitude
var longitude

Je dois maintenant récupérer ces valeurs pour les traiter en php/sql, mais comment faire ?

A voir également:

1 réponse

Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   399
 
Ton code javascript est du côté client (dans ton navigateur) et le PHP est du côté serveur, tu dois donc envoyer tes variables javascript du côté serveur. Le meilleur moyen d'y arriver est l'Ajax.

Ajax
Étant donné que tu utilises jQuery, c'est très simple. L'ajax permet d'intéragir avec ton serveur sans mettre à jour ta page Web au complet à partir de javascript. Selon ce que tu veux faire, ça peut être la solution à ton problème.

Tu peux utiliser la fonction
post()
qui est un raccourci de la fonction
ajax()
. Le bout de code à ajouter du côté javascript serait le suivant:

$.post( "test.php", { lat: "abc", lon: "xyz" } );


Tu indiques dans les paramètres la page PHP à appeler et les paramètres sous la forme "paramètre : valeur". Tu peux aussi faire que suite à l'exécution de ton code PHP ton javascript fasse quelque chose:

var envoi = $.post( "test.php", { lat: latitude, lon: longitude } );

envoi.done( function(data) {
  // L'information retournée par le code PHP se trouve
  // dans la variabe data. 
});


Du côté PHP, du peut récupérer des variables "lat" et "lon" comme toute autre valeur POST.
C'est-à-dire avec un
$_POST["lat"]
et un
$_POST["lon"]
.

Bonne chance!
11
Maitre2B Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   33
 
Je viens de tomber amoureux, merci !
0
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   399
 
Mais ça me fait plaisir!
0
pétoux
 
Merci !!! j'ai cherché toute la journée ca fais plaisir d'avoir trouver la solution
0
hassms
 
Bojour,je sais que ça date mais j'ai essayé de faire la même chose mais ça marche pas!!le $_POST['mykey'] est vide tout le temps!!
0