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

(Resolvido) Erro com session_start()


bartolossi

Pergunta

Boa tarde a todos.

Estou tendo os seguintes erros:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\vhosts\listacolih.com.br\httpdocs\core\login.php:2) in E:\vhosts\listacolih.com.br\httpdocs\core\php\clsSessao.php on line 13

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\vhosts\listacolih.com.br\httpdocs\core\login.php:2) in E:\vhosts\listacolih.com.br\httpdocs\core\php\clsSessao.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at E:\vhosts\listacolih.com.br\httpdocs\core\login.php:2) in E:\vhosts\listacolih.com.br\httpdocs\core\php\clsLogin.php on line 62

Já tentei:

1) salvar como utf-8 sem BOM

2) verificar se tem caracteres antes da função session_start();

O que mais poderia ser?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
o q tem em E:\vhosts\listacolih.com.br\httpdocs\core\login.php na linha 2??

Olá Kuroi. Obrigado pela atenção.

Aí vai o conteúdo da função com a linha 62 comentada

public function criaSessao($url = NULL) {
            if ($this->autentica()) {
                self::inicia();
                self::setLogin($this->banco->getRecordValue(0, "login"));
                self::setNome($this->banco->getRecordValue(0, "nome"));
                self::setPermissao($this->banco->getRecordValue(0, "permissao") == "administrador");
                if (isset($url))

                    header("Location: $url"); // linha 62
            }
            else
                throw new LoginException();
        }

_________________________________________________________________________________________

Segue também a classe usada:


class Sessao {
    
        // métodos
        public static function inicia() {
            session_start();  //clsSessao.php on line 13
        }
        
        protected static function setLogin($login) {
            $_SESSION["login"] = $login;
        }
        
        protected static function setNome($nome) {
            $_SESSION["nome"] = $nome;
        }
        
        protected static function setPermissao($permissao) {
            $_SESSION["permissao"] = $permissao;
        }
        
        public static function getLogin() {
            return $_SESSION["login"];
        }
        
        public static function getNome() {
            return $_SESSION["nome"];
        }
        
        public static function getPermissao() {
            return $_SESSION["permissao"];
        }
        
        public static function destroi($url = NULL) {
            unset($_SESSION);
            session_destroy();            
            if (isset($url))
                header("Location: $url");
        }
    
    }

Editado por *FIT*
Adicionar a tag [code]! *FIT*
Link para o comentário
Compartilhar em outros sites

  • 0

então, bartolossi, não era isso q eu tava falando.

na verdade se você ler a mensagem do erro, ele diz: (output started at E:\vhosts\listacolih.com.br\httpdocs\core\login.php:2).

ta vendo aquele ":2" no final?? isso significa q algum caractere esta sendo escrito na pagina (antes de ser chamada a funcao session_start()) na linha 2 do arquivo E:\vhosts\listacolih.com.br\httpdocs\core\login.php.

então o erro deve estar la. eu estava pedindo pra você postar o conteudo da linha 2 desse arquivo login.php (isso se você não descobrir o erro quando for checar la agora).

Link para o comentário
Compartilhar em outros sites

  • 0
então, bartolossi, não era isso q eu tava falando.

na verdade se você ler a mensagem do erro, ele diz: (output started at E:\vhosts\listacolih.com.br\httpdocs\core\login.php:2).

ta vendo aquele ":2" no final?? isso significa q algum caractere esta sendo escrito na pagina (antes de ser chamada a funcao session_start()) na linha 2 do arquivo E:\vhosts\listacolih.com.br\httpdocs\core\login.php.

então o erro deve estar la. eu estava pedindo pra você postar o conteudo da linha 2 desse arquivo login.php (isso se você não descobrir o erro quando for checar la agora).

Era um maldito comentário que havia antes da chamada da função via include (e eu pensei que não contaria)

Problema resolvido.

Muito obrigado pela atenção Kuroi.

Um grande abraço!

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...