AGI / PHP get_data results

am attempting to count the number of digits that a caller inputs when prompted. If the number of digits input does not equal 10, I would like it to return to the beginning of the file. If the number of digits input does equal 10 I would like it to continue executing the program. With the code below, no matter the callers input, it always goes back to the beginning. Can anyone give me some insight here?

begining: {

$agi->stream_file(‘file1’);
$result = $agi->get_data(‘beep’, 6000, 10);
$numlength = mb_strlen(utf8_decode($result));
if ($numlength < 10){
goto begining;
}

else {
    $number= $result['result'];
    $agi->verbose("Number: ".$number);
}

}`

verbose the value of the variable $numlength before the if stament and verify if it does has a value

1 Like

Thank you, after using verbose I realized it wasn’t counting the variable. I I ended up getting everything to work using this

You need to specify which part of the array you are counting. Add [‘result’] to your $result variable.

$agi->stream_file(‘file1’);
$result = $agi->get_data(‘beep’, 6000, 10);
$numlength = mb_strlen(utf8_decode($result[‘result’]));
if ($numlength < 10){
goto begining;
}

else {
$number= $result[‘result’];
$agi->verbose("Number: ".$number);
}
}

That was your issue. You ere evaluating a whole array instead of the specific value