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

(Resolvido) “Warning: Cannot modify header information”


celestino

Pergunta

Bon dia

Estou já a dias com um problema, fiz uma pagina de login, que esta a funcional perfeitamente do meu servidor local (WampServer2.1). Mais quando publico o site no servidor (na Web) eu tenho o seguinte erro

“Warning: Cannot modify header information - headers already sent by (output started at /home/cjcn00/public_html/bertino/funcoes.php:1) in /home/cjcn00/public_html/bertino/acao.php on line 46”.

Já estive a pesquisar da net a procura de uma forma de resolver, mas não encontrei, por isso estou a pedir ajuda para tentar resolver este problema.

O código da pagina acao.php.

<?php session_start();

include "funcoes.php";
$conecta = new recordset();
$conecta->conexao();

$cod_pro         = $_POST['cod_pro'];
$nome            = $_POST['nome'];
$preço           = $_POST['preço'];
$descri          = $_POST['descri'];
$categ           = $_POST['categ'];
$foto            = $_FILES['foto']['name'];
$tmpimage        = $_FILES['foto']['tmp_name'];
$destino         = "imagem_produto/".$foto;
$caminho_foto    = "imagem_produto/";
        
if (isset($_POST['enviar'])){
    
    if ($_GET['cad']="cliente"){
        if(move_uploaded_file($tmpimage,$destino)){
        $cadastro = mysql_query ("INSERT INTO "nome_da_tabela" (cod_pro, nome, preço, descri, categ, foto, caminho_foto)
                                VALUES ('$cod_pro', '$nome', '$preço', '$descri', '$categ', '$foto', '$caminho_foto')") or die (mysql_error());
            print"<META HTTP-EQUIV= REFRESH  CONTENT='0; URL=form.PHP'>
            &lt;script type =\"text/javascript\">
            alert(\"Imagem enviado com sucesso!\");
            </script>";

            }else {
                print"<META HTTP-EQUIV= REFRESH  CONTENT='0; URL=form.PHP'>
                &lt;script type =\"text/javascript\">
                alert(\"Imagem enviado com sucesso!\");
                </script>";
                } 
            }
        }

if (isset ($_GET['login']) && $_GET['login'] == "entrar"){
    $nome = $_POST['nome'];
    $login = $_POST['login'];
    $senha = $_POST['senha'];
    $sql_login = mysql_query("SELECT * FROM "nome_da_tabela" WHERE nome = '$nome' and login = '$login' and senha = '$senha'") or die (mysql_error());
    if (mysql_num_rows($sql_login)== 1){
        $_SESSION['session_nome'] = $nome;
        $_SESSION['session_login'] = $login;
        $_SESSION['session_senha'] = $senha;
        header("Location: form.php");
    }else{
        unset($_SESSION['session_nome']);
        unset($_SESSION['session_login']);
        unset($_SESSION['session_senha']);
        header("Location: index.php");
}
}
?>
código da pagina funcoes.php
<?php
// cria a classe
class recordset{

    public $banco =    '######';
    public $usuario =  '######';
    public $senha =    '#######';
    public $hostname = '#######';
// CONECTA AO BANCO DE DADOS
function conexao(){
    $conexao = mysql_connect('#####','######u','#######')
           or die("Erro de ligação a base de dado tente outra vez");
    $db = mysql_select_db('#######')
        or die ("Erro de ligação a Base de Dados");
    mysql_query("SET NAME 'utf8'");
    mysql_query('SET character_set_connection=utf8');
    mysql_query('SET character_set_client=utf8');
    mysql_query('SET character_set_results=utf8');
}

// SELECTIONA OS DADOS
function seleciona($sql){
    $result = mysql_query($sql) or die ('Não foi possivel conectar');
    return $result;
    
    }
}
?>

desde já obrigada pela toda ajuda que poderem me dar.

Celestino Neves

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Boa noite.

Essa mensagem acontece dependendo da configuração de algumas hospedagens.

Comigo também aconteceu algumas vezes, e tive muita dificuldades para resolver.

Pode haver duas soluções:

a) Verifique se entre o início do seu código php, ou seja, o <?php e acima dele tem alguma linha em branco.

Esse problema dá esse erro.

Quando não é esse problema e não consigo resolver, simplesmente faço um desvio com uma função em javascript.

para substituir o header();. porque é aí que mora o problema.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Boa noite.

Essa mensagem acontece dependendo da configuração de algumas hospedagens.

Comigo também aconteceu algumas vezes, e tive muita dificuldades para resolver.

Pode haver duas soluções:

a) Verifique se entre o início do seu código php, ou seja, o <?php e acima dele tem alguma linha em branco.

Esse problema dá esse erro.

Quando não é esse problema e não consigo resolver, simplesmente faço um desvio com uma função em javascript.

para substituir o header();. porque é aí que mora o problema.

Abraços

Por agora este problema esta resolvido. foi resolvido com um javascript.

Agora da pagina de login esta tudo bem, mas encontrei um outro problema parecido de uma ou pagina, quando a pessoa esta logado.

"Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/cjcn00/public_html/bertino/form.php:5) in /home/cjcn00/public_html/bertino/form.php on line 5"

retirei o header(); e troquei por um javascript. mas não dei certo.

um pedaço do código.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php session_start();
include "funcoes.php";
$conecta = new recordset();
$conecta->conexao();
if (!isset($_SESSION['session_nome']) && !isset($_SESSION['session_login']) && !isset($_SESSION['session_senha'])){
    echo'Acesso restrito ao administrador '; 
    echo'&lt;script>window.location="index.php";</script>';
    exit;
    }    
?>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>La Tienda</title>
</head>


<link href="css/estilos.css" rel="stylesheet" type="text/css" />
&lt;script type="text/javascript" src="js/stscode.js"></script>
<body>

<div align="center">
    <table width="779" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>

neste momento ainda estou a teimar sobro o assunto. mas desde já agradeço a ajudar que poderem me dar.

Obrigada Endor, ajudas te a por as ideias no lugar.

Celestino neves

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