Variable jQuery à PHP [Résolu/Fermé]

Signaler
Messages postés
341
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2020
-
 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

Messages postés
627
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
388
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
341
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
11 avril 2020
28
Je viens de tomber amoureux, merci !
Messages postés
627
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
388
Mais ça me fait plaisir!
Merci !!! j'ai cherché toute la journée ca fais plaisir d'avoir trouver la solution
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!!