Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    PHP inviare dati e ricevere XML

    Ciao a tutti,
    il mio problema è questo:
    ho la necessità di inviare dei dati (GET o POST è indifferente) ad una pagina che genera un xml come risposta. Il problema è che logicamente facendo un form POST e/o GET, o inserendo direttamente un link alla pagina appendendo all'URL le variabili GET, il browser si sposta sulla pagina di destinazione che visualizza i risultati xml, ma in questo modo non posso più riprenderli in php. Ho una conoscenza base di php e questo mi basta per capire che questo non è sicuramente il sistema adatto. Navigando ho letto qualcosa riguardo XMLHttp, simpleXml e httpRequest ma non ho assolutamente idea.
    Quello di cui ho bisogno è un sistema che mi permetta di inviare la richiesta allegando i relativi dati e riprendere poi i risultati xml per impaginarli in php? E' possibile qualcosa del genere?



    Grazie

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Sei sulla strada giusta, le richieste XMLHttp (che stanno alla base della tecnologia chiamata AJAX) servono per fare partire delle chiamate javascript ad un url esterno, che può restituire qualsiasi tipo di output.

    Quindi al click di un bottone o al submit di un form puoi far partire una chiamata ad una pagina che svolgerà il compito.

    Puoi seguire 2 strade:

    1. Chiamare tramite ajax una pagina php che dovrà necessariamente esistere sul tuo server, che chiamerà l'url esterno, passando i dati che vuoi tu, e che poi si occuperà di fare il parsing del file xml (ad esempio usando simpleXml).

    2. Chiamare direttamente la pagina esterna ed eseguire il parsing in javascript

    La scelta tra i 2 metodi dipende da tanti fattori, dovrai scegliere tu cosa usare.

    Pur non essendo una cosa complicata, è richiesta una conoscenza di ajax, almeno di un po' di javascript e di php.


  3. #3
    Per quanto riguarda php e javascript non penso ci siano grossi problemi, è ajax che mi è oscuro, ma coglierò l'occasione per cominciare a documentarmi, anche perchè è già un bel pò di tempo che ne sento parlare.
    Comunque usare javascript non potrebbe dare problemi di incompatibilità con i browser con js disabilitato o è solo una mia stupida credenza?

    Comunque grazie mille sei stato di grande aiuto

    :berto:

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    bhe, si, ajax avendo javascript di mezzo funziona solo se javascript è abilitato, altrimenti non fa nulla.

    Però quello che chiedi, o lo fai con ajax, o altrimenti con il classico form che richiama la stessa pagina in cui ti trovi dopo aver elaborato i risultati.
    Per spiegarmi meglio, se ti trovi nella pagina form.php, puoi creare un form la cui action sia form.php, quando ricevi i dati in post, prima di mostrare la pagina potrai usando i dati appena ricevuti usare simplexml per aprire l'xml e elaborarne i risultati da mostrare a video.

    In effetti ajax non è strettamente necessario per quello che chiedi, semplicemente avevo capito che non volessi aggiornare la pagina.

    Ad ogni modo, se fai siti per lavoro, ajax lo devi conoscere per forza :-)

  5. #5
    ho capito cosa intendi ok
    per quanto riguarda ajax da dove mi consigli di cominciare?

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Guarda, per ajax, è importante prima di tutto avere una base sulla teoria di quello che fa, e per questo puoi guardarti la guida che c'è anche su html.it.

    Per quanto riguarda il come, esistono diversi metodi, quasi sicuramente nella guida ti mostrerà come farti le cose da solo.
    Io per ajax uso il framework jquery (che uso per una serie di altre cose), non mi sento di consigliarti un framework javascript solo per le chiamate ajax, ma con jquery è molto semplice gestirle, potrebbe darsi che poi lo possa utilizzare anche per altro (per quanto mi riguarda ha cambiato il mio modo di sviluppare in javascript, rendendomi più efficiente e permettendomi di fare cose che senza jquery non sarei stato in grado di fare).

    ciao

  7. #7
    Io ho una cosa del genere:


    <form id="Nomi" name="Nomi" action="https://www.miosito.it/pagina.aspx" method="post">

    <table>
    <tr>
    <td>Numero1</td>
    <td><input type="text" name="Numero1" id="Numero1" value="nome1"></td>
    </tr>
    <tr>
    <td>Numero2</td>
    <td><input type="text" name="Numero2" id="Numero2" value="nome2"></td> </tr>
    <tr>
    <td colspan="2" align="center">
    <input type="submit" value="Go"></td>
    </tr>
    </table></form>


    Se invio mi si apre l'indirizzo indicato nell'action e mi mostra un file xml.
    Come faccio a riprendere semplicemente questi dati e riutilizzarli per montare la pagina???
    VVoVe:

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    jaio
    Poniamo che questa si chiami pagina.php
    codice:
    <?php
    if($_POST) {
    
    $xml = simplexml_load_file("https://www.miosito.it/pagina.aspx?value1=".$_POST['nome1'].'value2=".$_POST['nome2']);
    echo "<pre>";
    print_r($xml);
    echo "</pre>";
    } else {
    ?>
    <form id="Nomi" name="Nomi" action="pagina.php" method="post">
    
    <table>
    <tr>
    <td>Numero1</td>
    <td><input type="text" name="Numero1" id="Numero1" value="nome1"></td>
    </tr>
    <tr>
    <td>Numero2</td>
    <td><input type="text" name="Numero2" id="Numero2" value="nome2"></td> </tr>
    <tr>
    <td colspan="2" align="center">
    <input type="submit" value="Go"></td>
    </tr>
    </table></form>
    <?php 
    }
    ?>
    il codice è abbozzato ma dovrebbe darti un idea...

  9. #9
    perfetto era esattamente quello che cercavo
    grazie

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.