bcs_ptx 0 Denunciar post Postado Fevereiro 25, 2011 Fala ai raça, seguinte uma dúvida, fiz um sistema aqui e no meu localhost, funciona tudo legal, mas fui passar para p servidor, e deu um erro, mas não entendi o pq do erro,e não consegui achar a resposta...quanod passei mostrou esse erro, oque pode ser? Obrigado Warning: Cannot modify header information - headers already sent by (output started at /programas/apache/htdocs/discomed/extranet/logar.php:2) in /programas/apache/htdocs/discomed/extranet/logar.php on line 18 linha 18 é essa header("location: invalido.php"); Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 poe no todo da pag, ob_start(); Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Fevereiro 25, 2011 eu ja tinha tentado,coloquei <?php ob_start(); ?>,no começo da pagina e deu Warning: Cannot modify header information - headers already sent by (output started at /programas/apache/htdocs/discomed/extranet/logar.php:1) in /programas/apache/htdocs/discomed/extranet/logar.php on line 18 Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 Faz assim, na codificação da sua pagina, coloque sem BOM Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Fevereiro 25, 2011 Sem bom? cara não entendi, tipo meu script da pagina que da erro é esse, e se eu tirar o header("location: invalido.php"); e colocar echo 'invalido';, ele mostra invalido, mas tem usuarios cadastrados. <?php include('conexao.php'); ?> <?php if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) { header("Location: index.php"); exit; } $usuario = mysql_real_escape_string($_POST['usuario']); $senha = mysql_real_escape_string($_POST['senha']); $sql = "SELECT id, nome, nivel FROM usuarios WHERE (usuario = '". $usuario ."') AND (senha = '". $senha ."') AND (ativo = 1) LIMIT 1"; $query = mysql_query($sql); if (mysql_num_rows($query) != 1) { header("location: invalido.php"); exit; } else { $resultado = mysql_fetch_assoc($query); if (!isset($_SESSION)) session_start(); $_SESSION['UsuarioID'] = $resultado['id']; $_SESSION['UsuarioNome'] = $resultado['nome']; $_SESSION['UsuarioNivel'] = $resultado['nivel']; header("Location: home.php"); exit; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 Se tu tiver o notepad++ vai em Encoding > Encode em UTF 8 sem BOM Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Fevereiro 25, 2011 Pior que não tenho, na real só queria saber por que esta aconetcendo isso, por que ja coloquei outros sistema no ar, inclusive nesse banco, e não deu esse erro Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 25, 2011 Se tu tiver o notepad++ vai em Encoding > Encode em UTF 8 sem BOM e no que isso tem haver ? :( Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 Bom, eu tive varios problemas com o header, e colocando a codificação para sem BOM, ele funcionou direitinho... Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Fevereiro 25, 2011 Na real eu só queria saber se alguem sabe a me dizer a resposta quanto a isso! Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 25, 2011 No começo do codigo <?php if (!isset($_SESSION)) session_start(); include('conexao.php'); // restante do codigo $_SESSION['UsuarioID'] = $resultado['id']; $_SESSION['UsuarioNome'] = $resultado['nome']; $_SESSION['UsuarioNivel'] = $resultado['nivel']; header("Location: home.php"); exit; } Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 No começo do codigo session_start(); O que session vai ajudar com header ? Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 25, 2011 @gremio10 Não sei, talvez RESOLVER O PROBLEMA porque ta dando erro de 'BOM' Clique aqui @topic Pior que não tenho, na real só queria saber por que esta aconetcendo isso, por que ja coloquei outros sistema no ar, inclusive nesse banco, e não deu esse erro. É porque na sua máquina a sua saida de buffer(output_buffering) deve estar ativo, o que em quase NUNCA está habilitado em servidores compartilhados. Já aproveitando o topico, bcs_ptx, não precisa fazer assim <?php include ('arquivo.php'); ?> <?php funcao(); ?> <?php # CODIGO ?> // Faça assim em apenas 1 tag. <?php include ('arquivo.php'); # CODIGO ?> Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 25, 2011 No começo do codigo session_start(); O que session vai ajudar com header ? Isso acontece porque você está tentando modificar o header de uma página que o mesmo já foi modificado. você pode usar uma meta tag ao inves dos headers .. <META http-equiv="refresh" content="0;URL=http://foo.bar"> pois eles sempre vão dar problema quando o session_start estiver acima deles .. isto e porque o session_start ja armazena os cabeçalhos no browser , sendo assim seu header ja vai estar modificado .. ^_^ ou então você pode fazer por script .. <script>window.location="pagina.php"</script> Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 UMA SOLUÇÃO Compartilhar este post Link para o post Compartilhar em outros sites
André Severino 3 Denunciar post Postado Fevereiro 25, 2011 Ele ta usando session ? O Andrey ja explicou acima o motivo e estou apenas complementando o codigo com as dicas dele <?php if (!isset($_SESSION)) session_start(); include 'conexao.php'; if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) { echo '<META http-equiv="refresh" content="0;URL=index.php">'; exit; } $usuario = mysql_real_escape_string($_POST['usuario']); $senha = mysql_real_escape_string($_POST['senha']); $sql = "SELECT id, nome, nivel FROM usuarios WHERE (usuario = '". $usuario ."') AND (senha = '". $senha ."') AND (ativo = 1) LIMIT 1"; $query = mysql_query($sql); if (mysql_num_rows($query) != 1) { echo '<META http-equiv="refresh" content="0;URL=invalido.php">'; exit; } else { $resultado = mysql_fetch_assoc($query); $_SESSION['UsuarioID'] = $resultado['id']; $_SESSION['UsuarioNome'] = $resultado['nome']; $_SESSION['UsuarioNivel'] = $resultado['nivel']; header("Location: home.php"); exit; } ?> Compartilhar este post Link para o post Compartilhar em outros sites