Variable jQuery à PHP

Résolu/Fermé
Maitre2B Messages postés 341 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 11 avril 2020 - 20 nov. 2013 à 12:32
 hassms - 23 juin 2015 à 10:57
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 mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
20 nov. 2013 à 20:19
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 jeudi 29 octobre 2009 Statut Membre Dernière intervention 11 avril 2020 33
21 nov. 2013 à 16:26
Je viens de tomber amoureux, merci !
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
21 nov. 2013 à 16:44
Mais ça me fait plaisir!
0
Merci !!! j'ai cherché toute la journée ca fais plaisir d'avoir trouver la solution
0
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