Bonjour a tous et a toutes , je voudrais faire une page php sur ordi ou smartphone qui me renvoie les coordonnées gps courantes du client, je suis perdu , qqn pourrait m'aider svp ? d'avance merci beaucoups![]()
Bonjour a tous et a toutes , je voudrais faire une page php sur ordi ou smartphone qui me renvoie les coordonnées gps courantes du client, je suis perdu , qqn pourrait m'aider svp ? d'avance merci beaucoups![]()
Bonjour,
A part la localisation par IP qui n'est absolument pas précise, il n'est pas possible d'en savoir plus via PHP.
Pour avoir des infos plus précises, il faut utiliser Javascript de cette façon :
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function doSomethingWithGeolocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { console.log('current position', position.coords.latitude, position.coords.longitude); }); } } doSomethingWithGeolocation();
NB : Cela va faire apparaître une demande de localisation "le site untel souhaite connaitre votre position", il n'est pas possible de récupérer l'info sur l'utilisateur n'a pas donné son accord.
Voilà pourquoi il y a une condition dans la fonction : if (navigator.geolocation) {
Merci beaucoup pour le code , mais je suis débutant voici ce que je voudrais faire
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function doSomethingWithGeolocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; }); } } doSomethingWithGeolocation(); alert(latitude);
comment je peux transférer une variable javascript en variable php ??
Bonjour,
PHP est un language côté serveur (AVANT l'affichage) alors que le Javascript est un language côté navigateur/client (donc APRES l'affichage).
Le seul moyen de donner à PHP des informations depuis le client est de les envoyer via ce qu'on appelle AJAX mais l'information est perdue directement à moins que ça ne soit sauvegardé en DB.
Bref, tu n'en dis clairement pas assez sur ce que tu veux faire et sur ton réel problème pour qu'on puisse t'aider.
ok en fait je voudrais envoyer les coordoonées gps d'un client à une adresse mail , je suis désolé d'etre aussi lent blackstar
Bon déjà c'est DarkStar mais passons xD
Je veux bien t'expliquer comment faire ça mais il y a un aspect légal à respecter.
Tu ne peux pas sauvegarder (envoyer un email est considéré comme une sauvegarde de données) ces données s'il y a moyen d'identifier la personne.
Si c'est le cas, cette dernière doit EXPLICITEMENT donner son accord, pour être en règle avec le RGPD. (y'a d'autres choses à faire en plus de l'accord mais bon, c'est pas un cours sur le RGPD ^^)
Voici une mise à jour du code (j'ai utilisé jQuery pour plus de facilité, il faut donc que la librairie jQuery soit chargée!)
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 (function ($) { function doSomethingWithGeolocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { $.ajax({ method: 'POST', url: 'url_vers_le_fichier_php.php', data: { action: 'send_geoloc', lat: position.coords.latitude, lng: position.coords.longitude, }, }); }); } } doSomethingWithGeolocation(); })(jQuery);
Et côté PHP :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (!empty($_POST['action']) && $_POST['action'] === 'send_geoloc') { // Envoi de l'email $to = "tonadresse@email.ici"; $subject = "La geoloc !"; $message = [ "Voici un email avec la geoloc", "Lat: " . $_POST['lat'], "Lng: " . $_POST['lng'] ]; mail($to, $subject, implode(PHP_EOL, $message)); }
Partager