Olá,

André Gonçalves wrote:
> não sou muito bom php não, mas se não estou enganado o erro esta naquelas 
> aspas duplas onde vc ta fazendo a atribuição ou nas aspas dos ifs.
> tenta fazer a atribuição as aspas ou com aspas simples.

        Na verdade não é isso.

> 
> []'s
> André
> 
> 
> ----- Original Message ----- 
> From: "Fabiano Heringer (BiGuRoOt)" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Thursday, January 25, 2007 11:12 AM
> Subject: [AsteriskBrasil] Duvida no AGI
> 
> 
> Oi galera, minha duvida é mais na linguagem PHP do que do proprio agi,
> quem puder me dar um help
> tenho o seguinte codigo:
> 
> $teste = "5";

        Até este ponto a variável $teste é construída no programa como um tipo
de dado string e recebe a seguinte string "5".

        Confira isso com a função gettype [1].

[1] http://br.php.net/manual/pt_BR/function.gettype.php

> 
> if ($teste = "1") {
>         WRITE("EXEC DIAL SIP/TELLFREE/" . $agi[extension] . "||tTM(grava)");
> }

        Neste ponto do programa, a condição if sempre será verdadeira, pois, a
variável $teste recebe agora o valor "1" e este valor é considerado
verdadeiro no PHP. Portando, o que estiver dentro de if, sempre será
executado.

> 
> elseif ($teste = "2") {
>         WRITE("EXEC DIAL SIP/DIRECTCALL/55" . substr($agi[extension],1)
> . "||tTM(grava)");
> }

        Este trecho jamais será executado pois está aninhado com a condição
acima if ($teste = "1"), que sempre será verdadeira. Portando, o
programa pula esta parte.

> 
> else {
>         WRITE("EXEC PLAYBACK acesso_negado");
>         break;
> }

        Este trecho jamais será executado pois está aninhado com a condição
acima if ($teste = "1"), que sempre será verdadeira. Portando, o
programa pula esta parte.

> 
> qualquer valor q eu colocar na variavel $teste , ele SEMPRE executa o
> primeiro IF...é como se estivesse ignorando o teste

        Exatamente.
> 
> Alguem tem ideia o que to fazendo errado ai?

        Eu acredito que a solução para o seu caso sejá utilizar um dos
operadores de comparação do PHP, o == ou o ===. Estes operadores
trabalham de forma diferentes, mas tem como objetivo fazer comparações
de valores. São operadores condicionais. O operador = é um operador de
atribuição. Confira [2].

[2] http://br.php.net/manual/pt_BR/language.operators.php

> 
> Obrigado
> ----------------------------------------

        valew!

-- 
Jonas Roberto de Goes Filho (sysdebug)
----------------------------------------
Estação VoIP 2006
5 e 6 Dezembro
Curitiba PR
http://www.estacaovoip.com.br

_______________________________________________
LIsta de discussões AsteriskBrasil.org
[email protected]
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org:
http://www.asteriskbrasil.org

Responder a