PHP: gestione dei form inviati tramite PDF

Tags: ,

E’ sempre più frequente l’utilizzo di PDF per la distribuzione di questionari.
I questionari, una volta compilati, possono essere postati via internet in formato XML ad una pagina web che poi li raccoglie ed, eventualmente, li inserisce in un database.

Come si fa a “intercettare” questi dati con PHP?
PHP fornisce molti metodi per lavorare con i flussi di dati ( I/O streams).
Ho trovato molto pratico utilizzare l’istruzione php://input per leggere il flusso in entrata e poi lavorarlo.

$response_xml_data = file_get_contents('php://input');
     if($response_xml_data){

           // echo "sto leggendo";
           $data = simplexml_load_string($response_xml_data);

        }

In sostanza, prima mi accerto che il flusso ci sia e poi mi creo un oggetto, dalla stringa XML in entrata, con simplexml_load_string

E’ da tenere presente che un form in PDF può anche essere una struttura molto complessa che può generare, al termine, un oggetto costituito da altri oggetti (che potrebbero essere costituiti da altri oggetti ancora… e così via).
Se non sappiamo com’era fatto questo form, diamo un’occhiata alla struttura dei dati con l’istruzione

echo "<pre>"; 
print_r($data);
echo "</pre>";

In modo tale da capire quanti cicli dobbiamo realizzare per “spacchettare” tutta la struttura.

Link: php:// e simplexml_load_string

PHP: gestione dei form inviati tramite PDF