Ir para o conteúdo
ricardocoimbra

Erro headers already sent by

Mensagens Recomendadas

ricardocoimbra    0
ricardocoimbra

include "acesso.php";

if ( $contagem == 1 ) {

header("Location: menu.php");

Mas ele tá me a dar este erro:

Warning: Cannot modify header information - headers already sent by (output started at /home/site/public_html/site/index.php:6) in /home/site/public_html/site/login.php on line 5

É nesta linha -> header("Location: menu.php");

Alguem me poderá dizer o porque?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ricardocoimbra    0
ricardocoimbra

provávelmente porque o acesso.php está a mandar qq coisa para o cliente :P

Tenho isto no acesso.php :

$login = $HTTP_COOKIE_VARS["login"]; //pega o cookie login, gravado anteriormente com o login

$conexao  = mysql_connect (localhost, $usuario, $password); //conecta ao mysql

$basedados = mysql_select_db($dbname); //seleciona a base de dados

$confirmacao = mysql_query("SELECT * FROM `tabela` WHERE login = '$login' ", $conexao);

$contagem = mysql_num_rows($confirmacao);

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ricardocoimbra    0
ricardocoimbra

o erro tá no localhost. tens q por o localhost entre " " :D

btw, era boa ideia mudares de $HTTP_COOKIE_VARS para $_COOKIE :P

Já fiz

$conexao  = mysql_connect ("localhost", $usuario, $password);

O erro continua a dar, estralho é que no meu localhost funciona diretito mas quando passo para o servidor dá me erro

Warning: Cannot modify header information - headers already sent by (output started at /home/site/public_html/site/index.php:6) in /home/site/public_html/site/login.php on line 5

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

ou então:

$conexao   = @mysql_connect (localhost, $usuario, $password); //conecta ao mysql
$basedados = @mysql_select_db($dbname); //seleciona a base de dados
$confirmacao = @mysql_query("SELECT * FROM `tabela` WHERE login = '$login' ", $conexao);
$contagem = @mysql_num_rows($confirmacao);

EDIT: dsclp n ter editado o post anterior em vez de postar este z.z

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ped@ntilva    0
Ped@ntilva

Será que estás a usar código PHP para redireccionar uma página?

Quando fazes um header("Location: menu.php"); ele vai para a página menu.php

Como supostamente já definiste o header da página ele diz que já está definido.

Tenta colocar esse código no início da página.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
QuickFire    0
QuickFire

Atenção que não podes usar o header se já tiveres algum código código non-php enviado :P

Um simples espaço antes do <?php faz toda a diferença :D

Agora isso pode estar a acontecer no file principal ou no include :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
kingless    0
kingless

em vez de utilizares a funcão header()  utiliza window.location do javascript

<script language="JavaScript"> 
<!-- window.location="menu.php"; //--> 
</script>

:P

EDIT: ou então a função  ob_flush(); do PHP :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ricardocoimbra    0
ricardocoimbra

Como supostamente já definiste o header da página ele diz que já está definido.

Tenta colocar esse código no início da página.

Como assim?

código non-php enviado ? Podias-me explicar melhor sff que não percebi esta parte...

Como aplico o javascript aqui ?

include "acesso.php";

if ( $contagem == 1 ) {

header("Location: menu.php");

  } else {

echo"Não está ligado";

}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ricardocoimbra    0
ricardocoimbra

<?

include "acesso.php";

if ( $contagem == 1 ) {  ?>

<script language="JavaScript">window.location="menu.php";</script>

<?  //header("Location: menu.php");

} else {

    echo "Você não está logado.";

  ?>

Eu fiz assim funcionou já dá só não percebi onde estava o erro... Gostava de saber porque...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

<?

include "acesso.php";

if ( $contagem == 1 ) {  ?>

<script language="JavaScript">window.location="menu.php";</script>

<?  //header("Location: menu.php");

} else {

    echo "Você não está logado.";

  ?>

Eu fiz assim funcionou já dá só não percebi onde estava o erro... Gostava de saber porque...

<?php
include "acesso.php";

if ( $contagem == 1 ) {  ?>
<script language="JavaScript">window.location="menu.php";</script><?
} else {
    echo "Você não está logado."; 
}
  ?>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade