+ Responder ao Tópico



  1. #1

    Padrão PHP erro ao usar o header("Location: ");

    Bom dia amigos da comunidade Under, pessoal estou precisando da ajuda de vcs seguinte tenho um pequeno script em php que funciona muito bem no Fedora Core 5 com apache e php5, porem estou colocando ele pra rodar no Slackware 10.2 com apache2 e php4 tenho erro ao usar o header("Location: ");

    Segue o trecho do script

    if ( $row_RSUsuario['login'] == $login )
    {
    comandos se o login for igual ....
    }
    else {
    header("Location:index.php?erro=login");
    }

    Porem se crio um script simples funciona

    <?php
    header("Location:https://under-linux.org");
    ?>

    O problema é que tenho este script rodando no Fedora com php5 sera que neste caso é uma limitação do php4?

    Grato

    Clecio

  2. #2

    Padrão

    Qual foi o erro ocorrido? foi algo relacionado a "headres already sent"?
    caso tenha sido, recomendo o uso de funções de output buffering em scripts que precisam modificar os headers, de forma que você possua mais controle sobre a saída

  3. #3

    Padrão

    Isso mesmo segue abaixo o erro:

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/login/auth.php:25) in /var/www/login/auth.php on line 93

    Valeu

  4. #4

    Padrão

    Problema resolvido pessoal, seguinte quando se usa o header("Location:"); não pode haver o comando echo ou qualquer trecho de codigo html, nem mesmo um espaço por isso estava tendo erros, pois meu script estava assim

    <?php
    conteudo do script 1
    ?>

    <?php
    conteudo do script 2
    ?>

    <?php
    conteudo do script 3
    ?>

    a linha em branco entre cada trecho do codigo era tido como codigo html por isto do erro.

    Obrigado pela ajuda