Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2018
    Messaggi
    2

    Metodo Get per ottenere un XML da URL esterno

    Salve a tutti,
    Sono nuovo della programmazione web (e php in particolare) e quindi anche del forum stesso.
    Ho una domanda probabilmente stupida da sottoporvi, ma che spero possa semplificare notevolmente il mio lavoro, o per lo meno mostrarmi gli errori logici che probabilmente ho compiuto a causa della mia scarsa esperienza.
    Brevemente, la situazione è la seguente:
    Sto scrivendo uno script php che, tramite la funzione html get, passa un input dell' utente ad un motore di ricerca esterno, formulando propriamente un apposito url. In codice :
    <?php
    $stringa= "http://prova/search";
    ?>
    <form action= <?php echo $stringa ?> method="get">
    <input type="text" name="term" placeholder="Inserisci search term" /> <br>
    <input type="submit"/>
    </form>
    <?php
    }
    ?>
    Quindi di fatto la ricerca fatta dall'utente va a formare l'URL dove verrà poi visualizzata la risposta.
    La pagina in questione, se correttamente formulata la richiesta, è strutturata sotto forma di file XML.
    La mia domanda è la seguente: poichè il mio lavoro è fare un parser di questo XML e passarlo ad un' altra pagina web,
    come posso ottenere l' XML dall' URL verso cui ho effettuato il GET? Esiste una sorta di return di questa funzione? Per quanto ho avuto modo di sperimentare fino ad ora,
    una volta effettuato il GET il browser si sposta sull' URL indicato in "action" e da quel momento non sono più in grado di manipolarne le informazioni.
    Grazie in anticipo per l' aiuto e scusate se ho posto domande banali.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, se utilizzi una form andrai a finire appunto ad un indirizzo web (lo stesso o altro nel tuo caso) con i parametri aggiunti dati dagli input. Di fatto ora dovresti avere
    codice:
    http://prova/search?term=VALORE-INSERITO

    Do per scontato che "
    http://prova/search" sia una url del tuo sito e quindi gestibile da te.
    A questo punto andrai a recuperare un presunto XML ( se trovato data la parola chiave ) .

    Per recuperare un XML ci sono alcune funzioni. Ad esempio qusto
    https://www.w3schools.com/php/php_xml_simplexml_read.asp dopo aver recuperato il risultato XML (nell'esempio è generato in una variabile statica).

    Per recuperare il file XML se preso da una url puoi usare: http://php.net/manual/en/function.file-get-contents.php.
    Il risultato sarà il contenuto del file se corretto o FALSE.

    Il risultato quindi sostituirà la variabile sopra statica dell'esempio.

    codice:
    
    
    codice:
    $xml = file_get_contents('http://www.example.com/');
    $xmlObject = simplexml_load_file($xml);
    


    simplexml_load_file() puoi usarla direttamente richiamando una url, dovresti gestire pero' la risposta.





  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2018
    Messaggi
    2
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, se utilizzi una form andrai a finire appunto ad un indirizzo web (lo stesso o altro nel tuo caso) con i parametri aggiunti dati dagli input. Di fatto ora dovresti avere
    codice:
    http://prova/search?term=VALORE-INSERITO

    Do per scontato che "
    http://prova/search" sia una url del tuo sito e quindi gestibile da te.
    A questo punto andrai a recuperare un presunto XML ( se trovato data la parola chiave ) .

    Per recuperare un XML ci sono alcune funzioni. Ad esempio qusto
    https://www.w3schools.com/php/php_xml_simplexml_read.asp dopo aver recuperato il risultato XML (nell'esempio è generato in una variabile statica).

    Per recuperare il file XML se preso da una url puoi usare: http://php.net/manual/en/function.file-get-contents.php.
    Il risultato sarà il contenuto del file se corretto o FALSE.

    Il risultato quindi sostituirà la variabile sopra statica dell'esempio.

    codice:
    
    
    codice:
    $xml = file_get_contents('http://www.example.com/');
    $xmlObject = simplexml_load_file($xml);
    


    simplexml_load_file() puoi usarla direttamente richiamando una url, dovresti gestire pero' la risposta.




    Ciao e grazie della risposta.
    Il problema purtroppo è che l'URL in questione non è parte del mio sito, ma fornito da un ente terzo che a sua volta si interfaccia con un database. Proprio per questo, non saprei come muovermi..

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Fammi capire bene, la action della form che gestisci tu sul submit manda ad una pagina esterna sulla quale non hai controllo?
    e questa pagina può generare o meno un contenuto XML?
    Se cosi' mi pare difficile tu possa recuperare il sorgente generato.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.