• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ricardocoimbra

Erro headers already sent by

15 mensagens neste tópico

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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";

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e por causa do header("location: balala");

algumas das vezes quando fazes o include, ele vai fazer comflito com os redir's.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?

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."; 
}
  ?>

0

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