Ir para conteúdo
Fórum Script Brasil
  • 0

Não termina function


Ruy Takata

Pergunta

Estou com o seguinte problema.

Tenho um formulário que chama um método em uma classe que está em outro arquivo .php

Ele chama o método, que executa todas as funções internas. Mas depois ele não termina o primeiro formulário.

<?php            
//arquivo gateway.php
    include ('Servico.php');
    class gateway
    {
        var $ip="";
        var $desc="";        
        var $lista_serv=array();

        public function lista_servicos($ip_)
        {        
            $this->ip=$ip_;
            $s=new Servico;                  
            $this->lista_serv=$s->get_servico($this->ip);
            $rows=pg_num_rows($this->lista_serv);
            for ($i = 0; $i < $rows; $i++)
            {   //Este trecho é executado normalmente e exibe os valores normalmente.
                $linha=pg_fetch_array($this->lista_serv,$i);
                echo $linha['tx_descricao'];
                echo $linha['fk_ip'];
            }                          
        }
    }              
                  
?>


<?php
    include ('gateway.php');    
    $g=new gateway;
    $ip=$_REQUEST[ip];  
    $g->lista_servicos($ip);    
    echo "teste";     //Logo após a linha de cima, nada é executado.
?>
    </body>
</html>

Na chamada da página, o ip é passado como parâmetro e ela está recebendo-o normalmente. Se eu der um echo $ip, ele é exibido corretamente.

Tudo que eu coloca depois da linha $g->lista_servicos($ip) não é executado. O simples echo não exibe nada. Oque está dentro do método executa.

Se eu colocar para o navegador exibir o código fonte, o </body> e o </html> não aparecem.

Se eu tirar a linha chamando o método, o restante do programa é executado normalmente.

Qual o problema com o código???

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Guest --rtakata --

Vou mudar a pergunta então... Uma mais conceitual...

public function lista_servicos($ip_)
        {        
            $this->ip=$ip_;
            $s=new Servico;                  
            $this->lista_serv=$s->get_servico($this->ip);
            $rows=pg_num_rows($this->lista_serv);
            for ($i = 0; $i < $rows; $i++)
            {   //Este trecho é executado normalmente e exibe os valores normalmente.
                $linha=pg_fetch_array($this->lista_serv,$i);
                echo $linha['tx_descricao'];
                echo $linha['fk_ip'];
            }                          
        }

Fiz um teste e ví que isso acotnece quando chamo o método pela segunda vez. Vejam acima as linhas

$rows=pg_num_rows($this->lista_serv);

$linha=pg_fetch_array($this->lista_serv,$i);

Por que isso acontece??? Eu só instanciei o objeto uma vez, porque não posso chamar o mesmo método duas vezes???

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...