Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.

Re: [php-pt] Response.Clear??

Expandir mensagens
  • Deives Michellis
    vc pode configurar no php.ini pra ele cachear a pagina antes de exibir. quer dizer, ele so passa a pagina pro browser depois de ter terminado o script. o q
    Mensagem 1 de 5 , 30 de jun de 2001
    Exibir fonte
    • 0 Anexo
      vc pode configurar no php.ini pra ele "cachear" a pagina antes de exibir.
      quer dizer, ele so passa a pagina pro browser depois de ter terminado o
      script.

      o q ta te acontecendo eh q vc ta tentando mandar header (cabecalhos) depois
      de jah ter escrito algo na tela... sacou?

      qquer coisa, tamos ai

      FALO
      T+
      FUI

      Deives Michellis
      ----- Original Message -----
      From: <lord_wicked@...>
      To: <php-pt@yahoogroups.com>
      Sent: Saturday, June 30, 2001 8:29 PM
      Subject: [php-pt] Response.Clear??


      Pessoal
      Sambem quando dá o erro de headers no PHP?
      estilo assim...

      "Cannot add header information - headers already sent by ..."
      no ASP poderíamos evitar o erro dando um Response.Clear e então
      redirecionaríamos para qualquer lugar, pois o header sería limpo.

      Essa função não existe no PHP?

      Não existe uma função que limpe o header no PHP?

      andei pesquisando nas mensagens armazenadas no fórum e nada, só vi o
      pessoal tentando solucionar o problema de outra forma. Bem acho que
      essa função não existe mesmo no php, mas se não existir é uma grande
      falha dos desenvolvedores do php... (onde já se viu isso!! )

      []'s
      Wicked



      ---- Ligações uteis PHP-PT ----
      Para se retirar: php-pt-unsubscribe@egroups.com
      Lista para questões mais difíceis: php-especialistas@egroups.com
      Endereço geral da lista: http://br.egroups.com/group/php-pt
      Componentes de programação em PHP: http://phpclasses.UpperDesign.com/

      Seu uso do Yahoo! Groups é sujeito às regras descritas em:
      http://docs.yahoo.com/info/terms/
    • Eduardo Scoz
      Só para concluir, a diferença entre a utilização dos dois métodos é muito clara... Fazer buffer de saída consome muito mais memória e tempo de
      Mensagem 2 de 5 , 1 de jul de 2001
      Exibir fonte
      • 0 Anexo
        S� para concluir, a diferen�a entre a utiliza��o dos dois m�todos � muito clara...

        Fazer buffer de sa�da consome muito mais mem�ria e tempo de processamento. Por isso esse m�todo sempre foi descartado no PHP... Mas como a galera que vem do ASP � grande, foi criada as fun��es de controle de sa�da no php4..


        valeu


        Joao Prado Maia <jpm@...> wrote ..
        >
        > On Sat, 30 Jun 2001 lord_wicked@... wrote:
        >
        > > Pessoal
        > > Sambem quando d� o erro de headers no PHP?
        > > estilo assim...
        > >
        > > "Cannot add header information - headers already sent by ..."
        > > no ASP poder�amos evitar o erro dando um Response.Clear e ent�o
        > > redirecionar�amos para qualquer lugar, pois o header ser�a limpo.
        > >
        > > Essa fun��o n�o existe no PHP?
        > >
        > > N�o existe uma fun��o que limpe o header no PHP?
        > >
        > > andei pesquisando nas mensagens armazenadas no f�rum e nada, s� vi o
        > > pessoal tentando solucionar o problema de outra forma. Bem acho que
        > > essa fun��o n�o existe mesmo no php, mas se n�o existir � uma grande
        > > falha dos desenvolvedores do php... (onde j� se viu isso!! )
        > >
        >
        > Tem uma diferen�a muito importante entre o PHP e ASP nesse assunto - o
        > ASP
        > grava num buffer interno o conte�do do script para s� no final mostrar
        > o
        > mesmo e j� o PHP vai mostrando o resultado do script enquanto vai rodando
        > o script. Por isso que voc� quando imprime alguma parte de HTML para o
        > browser e depois tenta criar um cookie recebe essa mensagem de erro,
        > porque os cabe�alhos HTTP dessa p�gina j� foram enviados para o browser.
        >
        > Isso obviamente tem o seu lado bom e tamb�m esse lado ruim, mas o PHP tem
        > fun��es que podem ser usadas para emular o mesmo jeito do ASP. Voc�
        > precisa usar as fun��es de controle de output (
        > http://php.net/manual/en/ref.outcontrol.php ).
        >
        > <?php
        > ob_start();
        >
        > echo "<p>Enviando cabe�alhos HTTP agora!</p>";
        > setcookie("nome", "valor");
        >
        > ob_end_flush();
        > ?>
        >
        > O script acima n�o vai resultar em erro, pois as fun��es de controle de
        > output administram essa falta de ordem e enviam os cabe�alhos HTTP do
        > jeito correto.
        >
        > Espero que isso possa ajudar,
        > Joao
        >
        > --
        > Jo�o Prado Maia <jpm@...>
        > http://phpbrasil.com - php com um jeitinho brasileiro
        > --
        > Precisando de consultoria em desenvolvimento para a Internet ?
        > Impleo.net - http://impleo.net/?lang=br
        >
        >
        > ---- Liga��es uteis PHP-PT ----
        > Para se retirar: php-pt-unsubscribe@egroups.com
        > Lista para quest�es mais dif�ceis: php-especialistas@egroups.com
        > Endere�o geral da lista: http://br.egroups.com/group/php-pt
        > Componentes de programa��o em PHP: http://phpclasses.UpperDesign.com/
        >
        > Seu uso do Yahoo! Groups � sujeito �s regras descritas em: http://docs.yahoo.com/info/terms/

        [As partes desta mensagem que n�o continham texto foram removidas]
      • Joao Prado Maia
        ... Mas por outro lado é também uma forma bem interessante de salvar o resultado de uma página num buffer e checar por erros. Por exemplo, usar as funções
        Mensagem 3 de 5 , 1 de jul de 2001
        Exibir fonte
        • 0 Anexo
          On Sun, 1 Jul 2001, Eduardo Scoz wrote:

          > Só para concluir, a diferença entre a utilização dos dois métodos é muito clara...
          >
          > Fazer buffer de saída consome muito mais memória e tempo de processamento. Por isso esse método sempre foi descartado no PHP... Mas como a galera que vem do ASP é grande, foi criada as funções de controle de saída no php4..
          >

          Mas por outro lado é também uma forma bem interessante de salvar o
          resultado de uma página num buffer e checar por erros. Por exemplo, usar
          as funções de controle de output dentro da página normalmente e se algo de
          errado acontecer, como o servidor de banco de dados estando fora do ar,
          mostrar uma página diferente.

          Isso não seria difícil de se fazer com as funções do PHP de pegar erros e
          tambem essas funcoes de controle de output. Um exemplo bem simples disso
          pode ser visto num artigo que escrevi mas ainda nao foi publicado:

          <?php
          // start output buffering
          ob_start();

          // set the error reporting level
          error_reporting(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE);

          function my_handle_error()
          {
          ob_end_clean();
          include("error_page.html");
          exit;
          }
          // so any error in the PHP code itself (E_USER_ERROR, E_USER_WARNING or
          // E_USER_NOTICE) will be handled by the function above
          set_error_handler("my_handle_error");

          require_once("DB.php");
          $dsn = array(
          'phptype' => "mysql",
          'hostspec' => "localhost",
          'database' => "test_db",
          'username' => "scott",
          'password' => "wrong_password"
          );
          // now any errors on the PEAR code will be handled by the same function
          above
          PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'my_handle_error');
          $dbh = DB::connect($dsn);

          // flush the buffered page if no errors happened
          ob_end_flush();
          ?>

          O código acima fala um pouco sobre as funções de administração de erros do
          PEAR ( http://pear.php.net ) em conjunto com as funções nativas do PHP.

          Espero que isso possa ajudar,
          Joao

          --
          João Prado Maia <jpm@...>
          http://phpbrasil.com - php com um jeitinho brasileiro
          --
          Precisando de consultoria em desenvolvimento para a Internet ?
          Impleo.net - http://impleo.net/?lang=br
        Sua mensagem foi enviada com êxito e será entregue aos destinatários em breve.