我有一個頁面的VXML腳本,我已經通過撥號DTMF到一個窗體,並且工作正常。VXML值到PHP變量
但我也想將這個值傳遞給一個PHP變量。
這可能嗎?
<prompt> <value expr="Digits"/> </prompt>
這樣的工作,但如何將'數字'分配給PHP中的$測試?
感謝
我有一個頁面的VXML腳本,我已經通過撥號DTMF到一個窗體,並且工作正常。VXML值到PHP變量
但我也想將這個值傳遞給一個PHP變量。
這可能嗎?
<prompt> <value expr="Digits"/> </prompt>
這樣的工作,但如何將'數字'分配給PHP中的$測試?
感謝
在VoiceXML的變量傳遞到服務器端腳本的過程中使用通常做的三個標籤(<submit>
,<subdialog>
或<data>
)之一。所有這三個都支持提供URL,HTTP方法(get或post)以及將被髮送到Web服務器的變量名稱列表的標準約定。
假設你有一個非常簡單的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>
標籤來更貼近地模仿現代AJAX樣式的應用程序,您可以在其中對名稱/值對進行POST,並取回可以使用普通Javascript DOM訪問的任意XML文檔。
其實,你可以提交到更晚的表格。您可以使用$ _REQUEST ['Digits']從名單中抓取。
<form id="foo">
<submit next="myPage.php#newForm" namelist="Digits" method="post" />
</form>
<form id="newForm">
<?php $test = $_REQUEST['Digits']; ?>
</form>
非常感謝您的回覆。我希望使用''並將值傳遞給一個新表單,然後將其解析爲一個PHP變量。 這可能嗎? –
MacMan
2013-03-25 20:21:00
不幸的是,沒有。當您使用散列(#newform)時,您正在腳本內進行本地跳轉。出於好奇,你爲什麼需要將這個變量放到遠程PHP變量中才跳轉到本地表單項? – 2013-03-25 20:36:18
輸入的值是一個數字,我想用它作爲數組的一個鍵。 例如:'echo $ new [$ test];' – MacMan 2013-03-26 08:52:15