Var JS vers PHP

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Var JS vers PHP

    Bonjour,
    j'ai besoin de passer une variable JS vers un php, souvent je lis qu'il est nécessaire d'utiliser AJAX, il m'arrive d'utiliser cela :

    Code:
    <script type="text/javascript">
    var a = "Variable JS";
    </script>
    
    <?php
    echo "<script>document.write(a);</script>" ;
    ?>
    Qui m'évite de passer par AJAX.

    Par contre je viens de voir que cela ne fonctionnait pas toujours, par exemple quand je veux appliquer cela à "var latitude" dans mon code, il ne se passe rien :

    Code:
    <script type = "text/javascript">        
        function showLocation(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            alert("Lat : " + latitude + " Lng : " + longitude);
           }
            function errorHandler(err) {
                if(err.code == 1) {
                   alert("Error: Accès interdit!");
                } else if( err.code == 2) {
                   alert("Error: Position non détectée!");
                }
            }            
            function getLocation() {
                if(navigator.geolocation) {              
                   // timeout 60000 millisecondes (60 secondes)
                   var options = {timeout:60000};
                   navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);
                } else {
                   alert("Désolé, votre navigateur ne prend pas en charge la géolocalisation!");
                }
            }
       });
            </script>

    <?php echo "<script>document.write(latitude);</script>" ; ?>

    N'affiche rien.

    Quelqu'un saurait-il pourquoi ?

    Cordialement.

    Eric
    Dernière édition par Agrepe à 07/02/2020, 14h25

  • #2
    Bonjour Eric,

    Que de questions en si peu de temps.....

    Il faut comprendre que le javascript s'exécute 'dans l'explorateur" (le client), alors que le PHP s'exécute sur le serveur.

    Cela suppose qu'il faut une passerelle entre les 2 et c'est là qu'intervient AJAX.

    Au niveau de Joomla, il suffit de mettre une fonction getAjax dans le helper d'un module et la passerelle est lancée (un processus est en attente sur le serveur) : voir https://docs.joomla.org/Using_Joomla_Ajax_Interface/fr

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Bonjour Patrice,
      Effectivement, cela dépend de ma charge travail et des idées qui me trottent dans la tête.
      Pour vous remercier je vais vous inviter à venir passer quelques jours sous les tropiques.

      Effectivement AJAX envoie sous forme d'un POST ou GET les informations à une page, je vais regarder la doc qui tu me propose.

      Mais ma question est surtout pourquoi mon test fonctionne et pas dans mon script qui transforme l'adresse IP en coordonnées GPS ?
      Peut-être qu'il y a quelque chose que je ne vois pas.

      Cordialement.

      Commentaire


      • #4
        Reprenons à zéro.

        Vous avez un module ou un composant qui crée une page html.

        Dans cette page, vous avez du html, du javascript et un peu de php.

        La partie php va générer du code html qui deviendra du code figé. Autrement écrit, vous mettez a dans une variable javascript et, au moment où votre serveur interprète le code php, il connait cette variable a, donc, youpi, il l'affiche.

        Lorsque la page arrive dans votre explorateur, il ne voit que du html et du javascript. Le php a généré sa partie en html et on n'en voit plus trace dans la page.

        Donc, si vous modifiez une valeur dans le javascript, hormis en passant par AJAX, votre serveur ne verra ce qu'a fait l'utilisateur que lorsqu'il recevra le retour de la page complétée.

        En espérant ne pas vous avoir noyé sous les tropiques,

        Pascal
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X