PHP e VoiceXML (Parte I)
Pagina 1 di 5
Il PHP è un linguaggio nato per la creazione di
contenuti dinamici sul web, e date le sue caratteristiche ben
si integra con l'architettura del VoiceXML. Attraverso
semplici script PHP è possibile realizzare complesse
applicazioni vocali, e rendere fruibile attraverso una linea
telefonica qualsiasi tipo di contenuto.
Ecco il primo listato molto semplice che da il benvenuto al
portale vocale e poi pronuncia la data odierna:
index.php
<?php
header("Content-type: application/voicexml+xml");
$data_odierna = $date("l j Y");
echo '<?xml version="1.0"?>';
?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<form id="main">
<block>
<prompt bargin='false'>
Benvenuto nel portale di VoiceXML Italia, oggi è <?php =$data_odierna; ?>
</prompt>
<goto src="#login">
</block>
</form>
<form id="login">
<field name="pin" type="digits?length=4">
<prompt>
Digita o pronuncia il tuo codice PIN
</prompt>
<filled>
<submit next="login.php" method="post" namelist="pin"/>
</filled>
<noinput>
Non ho capito per favore riprova
<reprompt/>
</noinput>
</field>
</form>
</vxml>
La prima riga
header("Content-type: application/voicexml+xml");
setta il content type in modo che il gateway VoiceXML
interpreti correttamente il tipo di documento,
successivamente viene memorizzata la data odierna in una
variabile che verrà utilizzata successivamente.
Successivamente è necessario definire il tipo
documento xml, purtoppo dato che il php interpreta la
sequenza <? come un comando dell'interprete è
necessario mandare verso l'output della pagina
<?xml version="1.0"?>
attraverso il comando echo.
A questo punto siamo liberi di miscelare il codice vxml
all'interno del documento, e quando necessario integrarlo
con il php come ad esempio per stampare la data; oggi
è
<?php =$data_odierna; ?>
Il resto del codice VoiceXML richiede all'utente di
pronunciare il codice pin, che verrà convalidato
attraverso login.php. Il passaggio dei dati avviene
attraverso una post, utilizzando <submit> il quale
indica la lista di variabili da inoltrare alla pagina
mediante l'attributo namelist.
- Articolo precedente Controllare che una variabile sia stata valorizzata: la funzione empty() e la funzione isset()
- Articolo successivo PHP e VoiceXML (Parte II)