php传递变量到函数

时间:2015-07-22 21:57:45

标签: php asterisk agi

我有项目,带有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 ();
}

?>

0 个答案:

没有答案