Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    21

    Aiuto! Ho bisogno che JAVA e PHP andassero d'accordo!

    Buongiorno a tutti.
    Desidero chiedervi a tutti un piccolo aiuto per la prosecuzione di un personale progetto Web che tratterà la distribuzione delle reti Wireless libere nel mondo.

    La difficoltà che non riesco a superare, nel particolare risulta quando devo effettuare la geocodifica contraria (reverse geocodify) per memorizzare nel database i punti importati associando gli indirizzi relativi. Cioè, l'utente importa le coordinate ma il portale dovrebbe cercare anche gli indirizzi con le città per effettuare poi le ricerche.

    Il problema è che il modulo della geocodifica lavora ovviamente in Javascript ma le coordinate e la query mysql ce l'ho in PHP e non riesco proprio a "farli andare d'accordo" perchè ovviamente Java è un linguaggio client e PHP è un linguaggio server

    Passando alla pratica, nel codice del progetto uso due metodi di geocodifica: uno che funziona tramite il servizio FREE di un sito web che mi rilascia un Foglio di Stile da parserizzare :

    Codice PHP:
    $url "http://ws.geonames.org/findNearbyPlaceName?lat=".$newlinearray[4]."&lng=".$newlinearray[5];
    $data = @file_get_contents($url);
    if(!
    $ta[1]){$invalid=1;    }
    $address $ta[3]." (".$ta[7]." - ".$ta[8].")";
    $address addslashes($address);
    $address str_replace("<","",$address);
    $address str_replace("Name>","",$address);
    $address str_replace("name>","",$address);
    $address str_replace("Code","",$address);
    $address str_replace("country","",$address);
    $address str_replace("/Code","",$address);
    $address str_replace("countryCode","",$address); 
    $address str_replace(">","",$address);
    $address str_replace("/","",$address); 
    da cui ottengo solo città (in inglese putroppo) e stato con sigla (IT,US,ecc..). Questo metodo lo uso come secondario nel caso che il primo, quello che propongo qui sotto, non avesse successo

    Il metodo di geocodificia contraria primario si basa su un Javascript creato da Nico Goeminne e rilasciato secondo la licenza di Apache. Questo script mi permette di avere Indirizzi completi, città in italiano, paese, regione e molto altro ma il problema è che... è un JAVASCRIPT !!

    Mi è stato ceduto personalmente il JS che ovviamente ho integrato nel modulo d'importazione; e se faccio per esempio il comando...

    Codice PHP:
    @file_get_contents($url); 
    ...mi legge il codice Javascript nonostante avessi messo un Document.write nella speranza che stampasse anche nel codice, l'indirizzo di cui ho bisogno.
    Non posso usare i metodi GET/POST perchè dovrei fare moltissime geocodifiche (anche 5000) e mi pare che questi metodi sono molto lenti perchè precludono un passaggio di dati tra pagine HTML.

    Riassumento, il mio problema è poter avere il contenuto di una variabile espressa da un codice JAVA esterno per poterla trattare ed elaborare in codice PHP. Sò che la cosa è impossibile ma ho veramente bisogno di una mano, anche stravolgendo il codice!

    Gentilmente, cosa proponete? Quale potrebbe essere la soluzione? Grazie infinite
    Daniel

    PS: Se mi è permesso Vi mostro una parte del lavoro che stò facendo non ancora concluso ma funzionale:
    http:\\owcproject.helloweb.eu

  2. #2
    allora, se ho capito, tu hai bisogno di passare il valore salvato in una variabile JS ad una pagina PHP. Giusto?

    Puoi usare una chiamata AJAX per fare questo, e processare poi la risposta via Javascript.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    21
    Mi puoi spiegare, gentilmente, come posso fare ?
    Magari con qualche esempio di codice.

    Grazie, molto gentile
    Daniel

  4. #4
    mi stai chiedendo qualcosa che non posso darti, dato che non ho idea di cosa tu abbia bisogno di passare a php, inoltre se non hai esperienza con ajax non credo che tu possa fare molto, dunque per prima cosa vedi di farti un'idea di come funziona AJAX (dai un'occhiata a questa discussione de fuego http://forum.html.it/forum/showthrea...readid=1268663 )

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    21
    Grazie infinite per la risposta. Purtroppo non ho esperienza con ajax e dunque desidero una (grossa) mano in merito. Il problema è semplice:

    Ho una stringa generata da codice JAVA (ovvero la geocodifica contraria delle coordinate) che mi serve in PHP per aggiungerla tramite MySql al database assieme a tutte le altre informazioni.

    Si sà che java e php non vanno d'accordo dunque desideravo una soluzione alternativa e apprezzo molto Ajax però ho bisogno che qualcuno mi facesse qualche esempio in merito. Sarò io poi a modellarlo secondo le mie esigenze e neccessità.

    Grazie infinite
    Daniel

  6. #6
    Ok, vai su http://www.prototypejs.org/download e scaricati l'ultima versione.

    importala nell'head della pagina.

    scrivi una funzione:
    Codice PHP:
    function sendValue(value)
    {
       new 
    Ajax.Request('save.request.php', {
          
    'method' 'post'
          
    parameters : {
             
    'value' value
          
    }, 
          
    onSuccess : function(transport)
          {
             var 
    ret transport.responseText;
             
    /*Qui ci metti quello che la pagina deve fare una volta salvata la richiesta*/
          
    }
       })

    Poi scrivi un file php con il nome li indicati (save.request.php) che prende un parametro $_POST['value'] in ingresso e lo salva nel DB. magari dovrai aggiungerci altri parametri, tipo l'ID della riga.

    Questa funzione la devi chiamare nel punto in cui la tua funzione javascript (non Java che è un'altra cosa) che genera la geocodifica conclude i calcoli e ti ritorna il valore che ti serve. Dovrai soltato chiamarla:

    sendValue(ilValoreDiGeocodifica);

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    21
    artorius sei stato veramente molto gentile, con il tuo esempio ho capito un pò più il funzionamento di Ajax e company, solo che non sono ancora riuscito a concludere la mia idea

    Ti spiego meglio.

    Ho creato il file reversegeocode.php che contiene

    Codice PHP:
    <?php
    include("config.php"); 
    $lat=$HTTP_GET_VARS['lat'];
    $lng=$HTTP_GET_VARS['lng'];
    ?>

    <script src="geocoding.js" type="text/javascript"></script>
    <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<?=$gkey;?>" type='text/javascript'></script>


    <script type='text/javascript'>
    function sendValue(value)
    {
       new Ajax.Request('save.request.php', {
          'method' : 'post',
          parameters : {
             'value' : value
          },
          onSuccess : function(transport)
          {
             var ret = transport.responseText;
             alert('fatto');
          }
       })
    }


    var reversegeocoder = new GReverseGeocoder();
    reversegeocoder.reverseGeocode(new GLatLng(<?=$lat;?><?=$lng;?>));

    GEvent.addListener(reversegeocoder, "load",
      function(placemark) {

        sendValue(placemark.address);

                   
      }
    );
    stop;
    </script>
    ed un file PHP chiamato appunto save.request.php che contiene, tanto per provare ...

    Codice PHP:
    <?php
    $pos 
    $HTTP_POST_VARS['value'];
    echo 
    "arrivato: ".$pos
    ?>
    il problema è che lo script non chiama neanche il file PHP e dunque, nonostante gli inserisca dei dati in GET sul URL (esempio reversegeocode.php?lat=41.7359046936&lng=12.278050 4227) non mi visualizza nemmeno "arrivato" relativo al documento PHP .... cosa ho sbagliato ?

    Ti prego aiutami in questo, sò di essere ad un millimetro dal successo ma non riesco ad andare avanti!

    Grazie infinite
    Daniel

  8. #8
    scusa, ma ho dato un'occhiata al link dove lo stai sviluppando, ma non ho mica trovato la parte dove hai messo lo script con prototype.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    21
    ... infatti ... non metto online codici non funzionanti ... ce l'ho in localhost ....

    hai bisogno di qualche segmento di codice in particolare ? Ti ho scritto nel post precedente quello che credevo indispensabile ma se ti serve altro dimmi pure

    a presto
    Daniel

  10. #10
    volevo capire dove hai infilato lo script

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.