単一ページの VXML スクリプトがあり、ダイヤルされた DTMF をフォームに渡しましたが、正常に動作します。
しかし、値を PHP 変数にも渡したいと思います。
それは可能ですか?
<prompt> <value expr="Digits"/> </prompt>
これは機能しますが、PHP で $test に 'Digits' を割り当てるにはどうすればよいですか?
ありがとう
VoiceXML では、変数をサーバー サイド スクリプトに渡すプロセスは、通常、3 つのタグ ( <submit>
、<subdialog>
または<data>
) のいずれかを使用して行われます。これら 3 つすべてが、Web サーバーに送信される URL、HTTP メソッド (get または post)、および変数の名前リストを提供する標準的な規則をサポートしています。
非常に単純な VoiceXML スクリプトがあるとします。
<?xml version="1.0"?>
<vxml version="2.1">
<form>
<field name="Digits" type="digits">
<prompt>Please enter some digits.</prompt>
<filled>
<prompt>You entered: <value expr="Digits"/></prompt>
<submit next="path/to/script.php" method="post" namelist="Digits"/>
</filled>
</field>
</form>
</vxml>
次に、通常の $_POST 変数を使用して VoiceXML の変数にアクセスします。
<?php
$test = $_POST['Digits'];
echo("<?vxml version=\"1.0\"?>\n");
?>
<vxml version="2.1">
<form>
<block>
<prompt>You posted: <?=htmlspecialchars($test)?>.</prompt>
</block>
</form>
</vxml>
このアーキテクチャにより、VoiceXML は、HTTP POST と応答を備えた従来の Web サーバー / Web ブラウザーで動作できます。このタグを使用して、<data>
名前と値のペアを POST し、通常の Javascript DOM を使用してアクセスできる任意の XML ドキュメントを取得できる最新の AJAX スタイル アプリケーションをより厳密に模倣することもできます。