PROBLEMA Passare una variabile JS a PHP

Pubblicità

TiFaccioDelMale

Nuovo Utente
Messaggi
5
Reazioni
0
Punteggio
23
Salve a tutti, dovrei passare una variabile JavaScript datami dalle API Directions di Google in una funzione PHP che mi faccia il calcolo del prezzo del tragitto moltiplicandolo per una variabile X. Io di Ajax non ne capisco gran che, ma ho letto molti forum che mi consigliano questo metodo, voi cosa fareste?
Grazie.

EDIT: non trovando soluzioni con Ajax ho provato a mettere un campo hidden a cui attribuisco il valore di km(la mia variabile), ma non funzionando l'ho trasformato in campo di testo scoprendo che mi da "[object HTMLInputElement]" (senza apici). Il punto è che se lo visualizzo tramite un window.alert non mi da' problemi, anzi. Vi metto il codice per essere più chiaro.
Codice:
<!DOCTYPE html><html> 
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Benvenuto </title> 
   <script type="text/javascript" 
           src="http://maps.google.com/maps/api/js?sensor=false"></script>
</head> 
<body style="font-family: Arial; font-size: 13px; color: red;"> 
   <div id="map" style="width: 200px; height: 200px;"></div>
   <input type="text" id="partenza" placeholder="Partenza...">
   <input type="text" id="arrivo" placeholder="Arrivo...">
   <input type="text" id="km" name="km">
   <input type="button" value="Invia" onclick="script()">


   <script type="text/javascript"> 
function script(){
    
   var directionsService = new google.maps.DirectionsService();
   var directionsDisplay = new google.maps.DirectionsRenderer();


   var opzioni = {
     zoom:3,
     mapTypeId: google.maps.MapTypeId.ROADMAP
   }


   var map = new google.maps.Map(document.getElementById("map"), opzioni);
   directionsDisplay.setMap(map);
    
  
   var partenza = document.getElementById("partenza").value;
   var arrivo = document.getElementById("arrivo").value;
   var richiesta = {
       origin: partenza, 
       destination: arrivo,
       travelMode: google.maps.DirectionsTravelMode.DRIVING
   };
   
   directionsService.route(richiesta, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {


        var km = (response.routes[0].legs[0].distance.value)/1000;
          window.alert(km);                     //con questo funzia egregiamente
          
          directionsDisplay.setDirections(response);
      }
   });
    document.getElementById("km").value = km;  //se metto km.value mi da' un valore indefinito
   }
   </script> 
    
</body> 
</html>
 
Ultima modifica:
Salve a tutti, dovrei passare una variabile JavaScript datami dalle API Directions di Google in una funzione PHP che mi faccia il calcolo del prezzo del tragitto moltiplicandolo per una variabile X. Io di Ajax non ne capisco gran che, ma ho letto molti forum che mi consigliano questo metodo, voi cosa fareste?
Grazie.

EDIT: non trovando soluzioni con Ajax ho provato a mettere un campo hidden a cui attribuisco il valore di km(la mia variabile), ma non funzionando l'ho trasformato in campo di testo scoprendo che mi da "[object HTMLInputElement]" (senza apici). Il punto è che se lo visualizzo tramite un window.alert non mi da' problemi, anzi. Vi metto il codice per essere più chiaro.
Codice:
<!DOCTYPE html><html> 
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Benvenuto </title> 
   <script type="text/javascript" 
           src="http://maps.google.com/maps/api/js?sensor=false"></script>
</head> 
<body style="font-family: Arial; font-size: 13px; color: red;"> 
   <div id="map" style="width: 200px; height: 200px;"></div>
   <input type="text" id="partenza" placeholder="Partenza...">
   <input type="text" id="arrivo" placeholder="Arrivo...">
   <input type="text" id="km" name="km">
   <input type="button" value="Invia" onclick="script()">


   <script type="text/javascript"> 
function script(){
    
   var directionsService = new google.maps.DirectionsService();
   var directionsDisplay = new google.maps.DirectionsRenderer();


   var opzioni = {
     zoom:3,
     mapTypeId: google.maps.MapTypeId.ROADMAP
   }


   var map = new google.maps.Map(document.getElementById("map"), opzioni);
   directionsDisplay.setMap(map);
    
  
   var partenza = document.getElementById("partenza").value;
   var arrivo = document.getElementById("arrivo").value;
   var richiesta = {
       origin: partenza, 
       destination: arrivo,
       travelMode: google.maps.DirectionsTravelMode.DRIVING
   };
   
   directionsService.route(richiesta, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {


        var km = (response.routes[0].legs[0].distance.value)/1000;
          window.alert(km);                     //con questo funzia egregiamente
          
          directionsDisplay.setDirections(response);
      }
   });
    document.getElementById("km").value = km;  //se metto km.value mi da' un valore indefinito
   }
   </script> 
    
</body> 
</html>

visto che qualche troll mi ha citato vorrei aiutarti, ma non ho ben chiaro cosa ti serve in php, potresti prima di tutto ripostare il codice senza l'html?

se vuoi aprire codice javascript in php puoi farlo tramite printf "<javascritp>";► esempio e scrivere codice javascript, puoi snippare il codice in diverse variabili e poi se devi trasportale di pagina in pagina usi $_GET[]; ma sto solo avvallando ipotesi azzardate e con poco senso perchè non ho ben capito la domanda, dov'è il codice php?
quali sono le variabili da portare server side? dov'è il campo hidden...tra la domanda e il codice da te postato non ci sono connessioni.
se mi spieghi meglio te lo scirivo io il codice php

Edit...forse ho capito un pò.

Vedi se devi fare chiamate asincrone , devi prima creare una funzione e php e poi richiamarla con ajax e non viceversa, mandami il link del sito in pvt, altrimenti è spam : Cosi dicono ultimamente
 
Ultima modifica:
In realta' era un riconoscimento delle tue capacita' e dal messaggio che hai scritto direi che ci avevo visto giusto.m:fuuu:
Aspettiamo che l'autore si rifaccia vivo...

azz, adesso fai pure il tester delle skill degli utenti :shutup:, cioè fammi capire, hai fatto aprire questa discussione per poi citarmi? cioè è una discussione fittizia? scusa se non ho capito bene, ma spesso se ne fa uso impropio dell'italiano.
perchè non provi a dare una risposta al problema , quanto meno leggibile, almeno così vediamo anche le tue di skill:look:
 
azz, adesso fai pure il tester delle skill degli utenti :shutup:, cioè fammi capire, hai fatto aprire questa discussione per poi citarmi? cioè è una discussione fittizia? scusa se non ho capito bene, ma spesso se ne fa uso impropio dell'italiano.
perchè non provi a dare una risposta al problema , quanto meno leggibile, almeno così vediamo anche le tue di skill:look:

Vabbe', inutile avere un dialogo con te, ci ho messo buona volonta' ma ora ci rinuncio.
Buona Fortuna.
 
visto che qualche troll mi ha citato vorrei aiutarti, ma non ho ben chiaro cosa ti serve in php, potresti prima di tutto ripostare il codice senza l'html?

se vuoi aprire codice javascript in php puoi farlo tramite printf "<javascritp>";► esempio e scrivere codice javascript, puoi snippare il codice in diverse variabili e poi se devi trasportale di pagina in pagina usi $_GET[]; ma sto solo avvallando ipotesi azzardate e con poco senso perchè non ho ben capito la domanda, dov'è il codice php?
quali sono le variabili da portare server side? dov'è il campo hidden...tra la domanda e il codice da te postato non ci sono connessioni.
se mi spieghi meglio te lo scirivo io il codice php

Edit...forse ho capito un pò.

Vedi se devi fare chiamate asincrone , devi prima creare una funzione e php e poi richiamarla con ajax e non viceversa, mandami il link del sito in pvt, altrimenti è spam : Cosi dicono ultimamente
@json_encode perdonami, ma tu saresti un web developer?

Ad ogni modo, io non ho mai usato le Directions API ma sono bastati 20 secondi di ricerca su Google per trovare QUESTO. In pratica lato PHP mandi la richiesta tipo così
PHP:
$risposta = file_get_contents(https://maps.googleapis.com/maps/api/directions/json?origin=PARTENZA&destination=ARRIVO&key=API_KEY);
e siccome la response è in formato JSON (ma puoi ottenere l'XML se ti fa più comodo) lo elaboriamo per ottenere un array associativo
PHP:
$array = json_decode($risposta, true);
 
@json_encode perdonami, ma tu saresti un web developer?


:shock:
SI ,

Io non so cosa cerchi di dimostrare con quello che hai postato;
Ora visto che se stato così bravo, perchè non crei la funzione che calcola il prezzo del tragitto etc, estrapolando le info dall'array associativo?:shutup:
@Dkiller (92), io chiedo e mi riferisco sopratutto ai ragazzini di cui questo forum è pieno, di avere un approccio ai forum un attimino diverso, non prendetelo come un lavoro o come una scala sociale da scalare, non sentitevi leoni da tastiera o Zukemberg del nuovo decennio solo perchè avete letto qualche guida li e qualche guida la,te lo dice uno che ha 30anni suonati che ha conosiuto commodore basic, un giorno potresti svegliarti e renderti conto che c'è gente la fuori che ti fa il mazzo così ► ( ) e ti smonta tutta quella scala di idee a narcisismi che hai fatto di te, ad ogni modo sei stato bravo a fare la ricerca su google , sopratutto a capire la domanda del lettore ma sta di fatto che non l'ha letta, perchè hai preferito citare me per dimostrare quanto sei bravo a fare cosa non so.
Guarda ti posso dire solo una cosa a proposito del web developer.

Ho sviluppato diverse applicazioni

Un social network che sta aspettando la veste in bootstrap del mio collaboratore(Completamente scritto a manina, in oop e 5.3)
un 10 di e-commerce , tra le quali 1 ha un mio cms propietario e scritto completamente da me(SEO ottimizzati )
1 magazzino btob (ora scappa da google per vedere cosa significa)scritto da me.
Ho contatti con gente del web che nemmeno immagini, tra queste marco matry, l'autore di bepuppy.
Non posso linkari altrimenti è spam e cose simili.

Ora vi chiedo per cortesia di non citarmi più inutilmente, almeno che non abbiate qualcosa di davvero costruttivo da dire e che sia utile alla community e a me..

Felice giornata

Edit dimenticavo..

Diversi plug-in a pagamento e non per open-cart da temi a funzioni diverse
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top