Un semplice scambio di dati tra Php e Flex/Flash
Inviato da Domenico Dibello il 12 Marzo 2008
Flex è la miglior tecnologia client side oggi disponibile, esteticamente di grande effetto, e ricca di componenti già pronti da popolare con sorgenti XML. Php è uno tra i linguaggio di scripting server side più utilizzati, con una vastissima documentazione una estrema facilità di utilizzo ed una affidabilità ormai collaudata.
Questo esempio è una dimostrazione di quanto sia facile creare una pagina in Flex con un back-end PHP, può essere una valida alternativo ai classici Form HTML.
Quello che vi propongo è semplicissima messaggeria, l’utente può lasciare un messaggio e firmarlo.
Ecco qui l’esempio realizzato e funzionante.
Vediamo prima come è strutturato il codice della pagina PHP che permette il salvataggio dei messaggi nel file e il listing dello stesso ma in formato XML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <?php $nome = $_POST['nome']; $messaggio = $_POST['messaggio']; //Se l'utente ha passato delle variabili tramite POST... if($nome && $messaggio) { $f=fopen("messaggi.txt","a"); //Apro il file messaggi.txt in scrittura (a=append) fwrite($f,"$nome#$messaggio\n"); //Scrivo nome e messaggio inserendo il separatore "#" fclose($f); //Chiudo il file } //Leggo l'intero contenuto del file nella variabile $testo $testo=file_get_contents("messaggi.txt"); //Adesso stampo il contenuto del file in formato XML echo "<main>"; $tnome = strtok($testo,"#"); //Leggo fino al separatore (token) "#" while($tnome !== false) { echo "<item>"; echo "<nome>$tnome</nome>"; $tmessaggio=strtok("\n"); //Leggo fino al carattere "a capo" echo "<messaggio>$tmessaggio</messaggio>"; echo "</item>"; $tnome=strtok("#"); //Leggo fino al carattere "#" } echo "</main>"; ?>
Questa pagina che chiameremo messaggeria.php, si occupa di scrivere i messaggi inseriti dagli utenti nel file messaggi.txt che verrà salvato sul server. Se l’utente (nel nostro caso tramite Flex) passa tramite POST le variabili nome e messaggi, lo script messaggeria.php salva nome e messaggio nel file di testo e poi stampa il contenuto del file in formato XML.
La pagina visitata con un browser da in output qualcosa del tipo…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <main> <item> <nome> Bill Gates </nome> <messaggio> Windows Vista va una favola </messaggio> </item> <item> <nome> Linus Torvals </nome> <messaggio> Anche Linux non se la cava male </messaggio> </item> </main>
Spero che la parte PHP sia abbastanza chiara, in caso contrario vi esorto a lasciare un commento con le vostre domande!
Adesso vediamo come costruire la parte Flex:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <mx:HTTPService fault="crea_fallito()" result="crea_feedback()" id="creaRequest" url="http://www.itbazar.org/wfkjbn/messaggeria.php" useProxy="false" method="POST"> <mx:request xmlns=""> <nome>{nome.text}</nome> <messaggio>{messaggio.text}</messaggio> </mx:request> </mx:HTTPService> <mx:DataGrid x="18.5" y="10" width="343.5" height="143" id="datagrid1" dataProvider="{creaRequest.lastResult.main.item}" > <mx:columns> <mx:DataGridColumn headerText="Nome" dataField="nome"/> <mx:DataGridColumn headerText="Messaggio" dataField="messaggio"/> </mx:columns> </mx:DataGrid>
Il blocco HTTPService permette al client Flex di inviare una richiesta (creaRequest) alla pagina “url” con il metodo POST (cioè esattamente come un form HTML) le due variabili nome e messaggio, prendendo i valori dal testo inserito dall’utente in due textbox.
Il DataGrid invece, cioè la tabella dell’esempio, ha come fonte il file XML ricavato dall’HTTPService, questa “fonte” tecnicamente si chiama dataProvider. Ogni riga della tabella quindi sara popolata con il contenuto del tag
HeaderText è il titolo della colonna che può essere scelto liberamente, dataField invece deve coincidere con un tag XML contenuto nel tag superiore
A questo punto ogni volta che vogliamo aggiornare i dati dobbiamo solo inviare un creaRequest.send();
Pubblicato in Flash, Flex, Guide, ITbazar, Internet, Linux, Php, Tutorial | Nessun Commento »






Bene, procediamo nell’affascinante mondo della programmazione Server Side, adesso vedremo come ottenere il classico “Hello World” cioè un’applicazione che stampa un messaggio a video. Muniamoci di un qualsiasi editor di testo, meglio ancora se è un editor PHP. Io personalmente utilizzo Kate, l’editor di KDE, dopo aver ritoccato un po sfondo e colori della sintassi.