0

単一ページの VXML スクリプトがあり、ダイヤルされた DTMF をフォームに渡しましたが、正常に動作します。

しかし、値を PHP 変数にも渡したいと思います。

それは可能ですか?

<prompt> <value expr="Digits"/> </prompt>

これは機能しますが、PHP で $test に 'Digits' を割り当てるにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

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 スタイル アプリケーションをより厳密に模倣することもできます。

于 2013-03-25T19:34:02.180 に答える