Passage de variable JS vers PHP
mrpeek
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à récupérer des variables JS dans mon code PHP.
Voici mon code :
La partie PHP n'affiche rien.
Après plusieurs tests, je me suis aperçu que j'arrivais, avec ce procédé, à récupérer la valeur d'une variable JS si celle-ci était déclaré hors d'une fonction.
Mais ici, rien à faire, je n'arrive pas extraire les valeurs 'lat' et 'lon' pour l'afficher depuis la partie PHP.
Quelqu'un aurait une idée ?
Merci d'avance pour votre aide
Je cherche à récupérer des variables JS dans mon code PHP.
Voici mon code :
<script type="text/javascript"> function maPosition(position) { var lat = position.coords.latitude; var lon = position.coords.longitude; } if(navigator.geolocation) navigator.geolocation.getCurrentPosition(maPosition); </script>
<?php $latitude = "<script>document.write(lat);</script>" ; echo $latitude; ?>
La partie PHP n'affiche rien.
Après plusieurs tests, je me suis aperçu que j'arrivais, avec ce procédé, à récupérer la valeur d'une variable JS si celle-ci était déclaré hors d'une fonction.
Mais ici, rien à faire, je n'arrive pas extraire les valeurs 'lat' et 'lon' pour l'afficher depuis la partie PHP.
Quelqu'un aurait une idée ?
Merci d'avance pour votre aide
A voir également:
- Var js
- Javascript var to php - Meilleures réponses
- Var js to php - Meilleures réponses
- Round js ✓ - Forum Javascript
- /Var/www/html/index.html ✓ - Forum Linux / Unix
- Js/packed.agent.n ✓ - Forum Virus
- Arrondi js ✓ - Forum Windows
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (2) ✓ - Forum Linux / Unix
7 réponses
Bonjour,
Merci Jumulka pour ta réponse.
Pourtant , si je fais ça, j'arrive bien à appeler la variable dans mon code PHP :
Je pense que ma requête est plutôt : comment récupérer mes variables hors d'une fonction JS ?
Merci
Merci Jumulka pour ta réponse.
Pourtant , si je fais ça, j'arrive bien à appeler la variable dans mon code PHP :
<script type="text/javascript"> var a = 123; </script>
<?php $a = "<script>document.write(a);</script>" ; echo $a; ?>
Je pense que ma requête est plutôt : comment récupérer mes variables hors d'une fonction JS ?
Merci
Je pense qu'il y a quelque chose que tu n'as pas bien saisi dans les interactions entre PHP et JavaScript.
Il faut bien comprendre que le PHP génère du code source (JavaScript, HTML, CSS), en intégralité, puis envoie toute la page au navigateur client, qui, lui, interprète ce code. Il n'y a pas d'échanges synchrones entre les deux.
Au mieux, on peut utiliser JavaScript pour effectuer des requêtes vers le serveur PHP (ce qu'on appelle AJAX), mais c'est asynchrone (c'est même le premier A de AJAX) : tu ne peux pas espérer que PHP récupère une variable par ce biais à l'emplacement-même du code qui a généré le JavaScript qui a calculé cette variable. Tu seras forcément dans le cadre d'une nouvelle requête.
Le code que tu présentes ici ne signifie pas que PHP a connaissance de la valeur de A. Il n'a connaissance que d'une chaîne de caractère qui, côté client, permet d'afficher A. Cela signifie que tu ne peux pas utiliser ton code pour faire des opérations sur la valeur de A en PHP.
Pour t'en convaincre, avec le code que tu as écris, dans ton navigateur, fais « Afficher le code source ». Tu ne verras pas directement la valeur de A écrite par le PHP ; tu ne verras que ton code javascript qui dit au navigateur d'afficher A. Le PHP n'a jamais connu la valeur de A.
Retiens bien que pour PHP, le JavaScript n'est qu'un bout de texte qu'il envoie au client qui, lui, pourra l'interpréter.
Xavier