我有项目,带有phpagi的Asterisk,当我将变量传递给函数时我得到错误“注意:未定义的变量:pin”。
当我在函数开头执行“var_dump($ pin)”时,它会显示变量的正确性。 但是当我在“$ agi = new AGI();”之后执行“var_dump($ pin)”时它没有显示任何内容。
我认为“$ agi = new AGI();”它消灭了我的“$ pin”变量......
这是我的代码
#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require("phpagi.php");
require("database.php");
$agi=new AGI();
$agi->answer();
for ($x = 0; $x <= 3; $x++)
{
$result = $agi->get_data('/var/lib/asterisk/agi-bin/ivr-sound1', 3000, 20);
$pass = $result['result'];
$query = $conn->prepare("SELECT COUNT(*) FROM userinfo where pin=:pin");
$query->bindParam(':pin', $pass);
$query->execute();
$num_rows = $query->fetchColumn();
if($num_rows == 1)
{
$agi->text2wav("thankyou");
$agi->text2wav("please enter number to dial for more information press zero");
$num = $agi->exec("Read","pin,,4,3,120");
$temp = $agi->get_variable("pin");
$pin = trim($temp["data"]);
global $pin;
break;
}
if ($x == 3)
{
$agi->hangup();
}
}
dialout($pin);
function dialout($pin)
{
$agi=new AGI();
$agi->exec_dial("SIP/$pin");
$Answeredtime = $agi->get_variable ("ANSWEREDTIME");
$agi->hangup ();
}
?>