У меня есть проект, Asterisk с phpagi, когда я передаю переменную в функцию, я получаю сообщение об ошибке «Примечание: неопределенная переменная: пин».
Когда я делаю «var_dump ($ pin)» в начале функции, она показывает правильную переменную.
Но когда я делаю «var_dump ($ pin)» после «$ agi = new AGI ();» это ничего не показывает.
Я думаю «$ 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 ();
}
?>
Задача ещё не решена.
Других решений пока нет …