koga021 0 Denunciar post Postado Outubro 20, 2009 Estou fazendo um sistema de login utilizando header e o erro retornado e esse abaixo Warning: Cannot modify header information - headers already sent by (output started at /var/www/index2.php:4) in /var/www/index2.php on line 121 e o meu codigo e: if(mysql_num_rows($resultado) == 0) { header("location:index_erro.php"); } ?> EU LOGANDO com login e senha corretos nao retorna nehum erro, porem quando o resultado e > 0 da o erro acima, codigo completo index2.php <?php $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; } ?> <?php if(mysql_num_rows($resultado) == 0) { header("location:index_erro.php"); } else { header("location:index2.php"); } ?> abraço Compartilhar este post Link para o post Compartilhar em outros sites
diegoholiveira 3 Denunciar post Postado Outubro 20, 2009 Tem um espaço em branco (aonde você abre e fecha a tag html sem utilidade nenhuma) sendo enviado ao navegador e não pode haver nenhuma saida pro navegador antes de qualquer manipulação de header. <?php $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; } ?> <?php if(mysql_num_rows($resultado) == 0) { header("location:index_erro.php"); } else { header("location:index2.php"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
jpraminelli 3 Denunciar post Postado Outubro 20, 2009 pra funcionar header nao pode haver nenhum codigo html e nem espaçoes em branco antes do comando header. tente utilizar este comando no inicio do seu codigo: ob_start(); e estou outro no final do codigo ob_end_flush(); Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 21, 2009 mudei o codigo para antes de todo o html, e ainda continua dando problema, eu faço login com uma senha errada, e ele ainda deixa ficar em index2.php nao redireciona para index_erro.php. o que pode ser? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <?php include "conecta.php"; // Conecta ao banco de dados ?> <?php $login = $_POST['login']; $senha = $_POST['senha']; if ($_POST[login] == "" || $_POST[senha] == "") { echo ' <script language= "JavaScript"> location.href="index_erro.php" </script>'; } ?> <?php $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); $i; $i=0; while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; $i=$i+1; } ?> <?php if($i = 0) { echo ' <script language= "JavaScript"> location.href="index_erro.php" </script>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
surfboy.le 0 Denunciar post Postado Outubro 21, 2009 Se é um arquivo .php você nao precisa das duas primeiras linhas de código tire o <html> tente e me diga Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 21, 2009 retirando o <html ...> e o </html> funciona. mas se eu tira o codigo abaixo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">alem de continuar nao direcionando, a formataçao fica toda ruim Compartilhar este post Link para o post Compartilhar em outros sites
surfboy.le 0 Denunciar post Postado Outubro 21, 2009 formate usando a seguinte linha de código <?php header("Content-Type: text/html; charset=ISO-8859-1",true) ?> Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 21, 2009 Ele nao redireiciona e ainda perde as formataçoes. vou enviar o codigo completo. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <?php include "conecta.php"; // Conecta ao banco de dados ?> <?php $login = $_POST['login']; $senha = $_POST['senha']; if ($_POST[login] == "" || $_POST[senha] == "") { echo ' <script language= "JavaScript"> location.href="index_erro.php" </script>'; } ?> <?php $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); $i; $i=0; while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; $i=$i+1; } ?> <?php if($i = 0) { echo ' <script language= "JavaScript"> location.href="index_erro.php" </script>'; } ?> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>INTRAELSA</title> <style type="text/css" media="all"> body { font: 12px Tahoma, Verdana, Arial, Helvetica, sans-serif; } #tudo { width: 1000px; border: 2px solid #999; } #topo { width: 1000px; height: 148px; background-color: #808080; } #topo h1 { margin: 0; } #menuarea { float: left; width: 230px; padding: 10px; background-color: #FFFFFFF; } #conteudo { float: left; width: 700px; padding: 10px; } #rodape { width: 1000px; height: 30px; padding: 0 0px; background-color: #999; clear: both; } #rodape p { line-height: 28px; } ul#menu { width:200px; border:1px solid #003399; background:#6699FF; margin:0; padding:0; list-style-type:none; } ul#menu li { border-bottom:1px solid #A4A0F5; } ul#menu li a:link, ul#menu li a:visited { display:block; height:1%; text-decoration:none; font-family: Geneva, Arial, Helvetica, sans-serif; font-size:14px; color:#5E0F50; border-left:10px solid #EEC591; } ul#menu li a:hover { background-color: #5E0F50;; color:#DAA520; } </style> </head> <body> <div id="tudo"> <div id="topo"> <h1><img src="fatia_elsa2_f01.png" width="1000" height="148" /></h1> </div> <div id="menuarea"> <ul id="menu"> <li><a href="http://157.86.41.203/index2.php?funcao=home">Home</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li><a href="#">Link 4</a></li> <li><a href="#">Link 5</a></li> <li><a href="#">Link 6</a></li> <li><a href="#">Link 7</a></li> <li><a href="#"><font color="#FFFFFF"><strong>Logout de: <?php echo "$nome"; ?></strong></font></a></li> </ul> <?php echo "Seja bem Vindo: "."$nome"; ?> </div> <div id="conteudo"> <h2>Equipe ELSA </h2> <p><img src="equipe_reduzida_fatiada_r1_c1.jpg" width="600" height="420" /></p> <p>Pellentesque metus massa, lobortis quis, eleifend quis, varius eu, nibh. Aliquam neque mauris, bibendum sit amet, adipiscing vitae, volutpat vitae, purus. Morbi volutpat, metus ut ornare malesuada, tellus eros dapibus lectus, vitae pretium mi risus a massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Suspendisse sit amet elit vitae metus porta porta. Maecenas in dui. Nullam suscipit ante non erat. In leo lacus, sollicitudin a, imperdiet sit amet, malesuada commodo, erat. Maecenas erat libero, vehicula et, ultricies blandit, mollis sed, enim. Duis felis. Quisque lectus dui, tincidunt vitae, cursus eget, porta ullamcorper, enim. Nam nisl augue, ullamcorper sit amet, consectetuer eu, pharetra ut, erat.<img src="Marca-ELSA.png" width="168" height="26" /></p> <p> </p> <h2>Título (2)</h2> <p>Duis dui libero, feugiat eu, facilisis in, imperdiet et, `??}????neque. Donec lacinia, enim et malesuada tempor, erat lectus commodo sapien, non tincidunt magna diam a mauris. Vivamus ut urna. Suspendisse sed sem et libero vehicula molestie. Donec tincidunt metus at dui. Phasellus a nunc at neque tempus tristique. Proin congue augue vel pede. Etiam orci massa, fringilla in, laoreet varius, facilisis vitae, nibh. Praesent vulputate commodo nibh. Mauris luctus viverra eros. Maecenas vestibulum mattis sapien. Mauris rhoncus. Mauris arcu nisl, eleifend nec, pulvinar id, tristique eu, augue.</p> <hr /> <h3>Destaque:</h3> <p>Phasellus felis odio, pharetra eu, auctor ultrices, egestas eu, tortor. Sed rhoncus. Pellentesque turpis. Vestibulum vitae nulla. Vestibulum pretium erat et orci. Etiam aliquam risus nec orci. Aliquam posuere imperdiet.</p> <p>sdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdf</p> <p>sdfsddfsdfdsf<br /> SFsdfdfdsfdfsdfsdfsdfds sdfgdsfgdfgdfgfd sdfgdfgdsfgdsfgdfgsdfgdsfgdfgd f</p> </div> <div id="rodape"> <p>® Todos os direitos reservados | Projeto ELSA/RJ | </p> </div> </div> </body> <?php mysql_close($conexao); ?> Compartilhar este post Link para o post Compartilhar em outros sites
surfboy.le 0 Denunciar post Postado Outubro 21, 2009 Tente assim: <?php header("Content-Type: text/html; charset=ISO-8859-1",true) ?> <?php include "conecta.php"; // Conecta ao banco de dados $login = $_POST['login']; $senha = $_POST['senha']; if ($_POST[login] == "" || $_POST[senha] == "") { echo ' <script language= "JavaScript"> location.href="index_erro.php" </script>'; } $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); mysql_close($conexao); $i; $i=0; while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; $i=$i+1; } if($i = 0) { echo ' <script language= "JavaScript"> location.href="index_erro.php" </script>'; } ?> <html> <head> <title>INTRAELSA</title> <style type="text/css" media="all"> body { font: 12px Tahoma, Verdana, Arial, Helvetica, sans-serif; } #tudo { width: 1000px; border: 2px solid #999; } #topo { width: 1000px; height: 148px; background-color: #808080; } #topo h1 { margin: 0; } #menuarea { float: left; width: 230px; padding: 10px; background-color: #FFFFFFF; } #conteudo { float: left; width: 700px; padding: 10px; } #rodape { width: 1000px; height: 30px; padding: 0 0px; background-color: #999; clear: both; } #rodape p { line-height: 28px; } ul#menu { width:200px; border:1px solid #003399; background:#6699FF; margin:0; padding:0; list-style-type:none; } ul#menu li { border-bottom:1px solid #A4A0F5; } ul#menu li a:link, ul#menu li a:visited { display:block; height:1%; text-decoration:none; font-family: Geneva, Arial, Helvetica, sans-serif; font-size:14px; color:#5E0F50; border-left:10px solid #EEC591; } ul#menu li a:hover { background-color: #5E0F50;; color:#DAA520; } </style> </head> <body> <div id="tudo"> <div id="topo"> <h1><img src="fatia_elsa2_f01.png" width="1000" height="148" /></h1> </div> <div id="menuarea"> <ul id="menu"> <li><a href="http://157.86.41.203/index2.php?funcao=home">Home</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li><a href="#">Link 4</a></li> <li><a href="#">Link 5</a></li> <li><a href="#">Link 6</a></li> <li><a href="#">Link 7</a></li> <li><a href="#"><font color="#FFFFFF"><strong>Logout de: <?php echo "$nome"; ?></strong></font></a></li> </ul> <?php echo "Seja bem Vindo: "."$nome"; ?> </div> <div id="conteudo"> <h2>Equipe ELSA </h2> <p><img src="equipe_reduzida_fatiada_r1_c1.jpg" width="600" height="420" /></p> <p>Pellentesque metus massa, lobortis quis, eleifend quis, varius eu, nibh. Aliquam neque mauris, bibendum sit amet, adipiscing vitae, volutpat vitae, purus. Morbi volutpat, metus ut ornare malesuada, tellus eros dapibus lectus, vitae pretium mi risus a massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Suspendisse sit amet elit vitae metus porta porta. Maecenas in dui. Nullam suscipit ante non erat. In leo lacus, sollicitudin a, imperdiet sit amet, malesuada commodo, erat. Maecenas erat libero, vehicula et, ultricies blandit, mollis sed, enim. Duis felis. Quisque lectus dui, tincidunt vitae, cursus eget, porta ullamcorper, enim. Nam nisl augue, ullamcorper sit amet, consectetuer eu, pharetra ut, erat.<img src="Marca-ELSA.png" width="168" height="26" /></p> <p> </p> <h2>Título (2)</h2> <p>Duis dui libero, feugiat eu, facilisis in, imperdiet et, `??}????neque. Donec lacinia, enim et malesuada tempor, erat lectus commodo sapien, non tincidunt magna diam a mauris. Vivamus ut urna. Suspendisse sed sem et libero vehicula molestie. Donec tincidunt metus at dui. Phasellus a nunc at neque tempus tristique. Proin congue augue vel pede. Etiam orci massa, fringilla in, laoreet varius, facilisis vitae, nibh. Praesent vulputate commodo nibh. Mauris luctus viverra eros. Maecenas vestibulum mattis sapien. Mauris rhoncus. Mauris arcu nisl, eleifend nec, pulvinar id, tristique eu, augue.</p> <hr /> <h3>Destaque:</h3> <p>Phasellus felis odio, pharetra eu, auctor ultrices, egestas eu, tortor. Sed rhoncus. Pellentesque turpis. Vestibulum vitae nulla. Vestibulum pretium erat et orci. Etiam aliquam risus nec orci. Aliquam posuere imperdiet.</p> <p>sdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdf</p> <p>sdfsddfsdfdsf<br /> SFsdfdfdsfdfsdfsdfsdfds sdfgdsfgdfgdfgfd sdfgdfgdsfgdsfgdfgsdfgdsfgdfgd f</p> </div> <div id="rodape"> <p>® Todos os direitos reservados | Projeto ELSA/RJ | </p> </div> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 21, 2009 fiz como você falou copiei tudo e colei. e nao redirecionou. e ainda perdeu a formataçao. :( Compartilhar este post Link para o post Compartilhar em outros sites
surfboy.le 0 Denunciar post Postado Outubro 21, 2009 tente substituir as linhas if ($_POST[login] == "" || $_POST[senha] == "") { echo ' <script language= "Javascript"> location.href="index_erro.php" </script>'; } $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); mysql_close($conexao); $i; $i=0; while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; $i=$i+1; } if($i = 0) { echo ' <script language= "Javascript"> location.href="index_erro.php" </script>'; } ?> por if ($_POST[login] == "" || $_POST[senha] == "") { header("Location: index_erro.php"); } $logar = "SELECT nome FROM tbEquipe WHERE codigo='$login' AND senha='$senha';"; $resultado = mysql_query($logar,$conexao); mysql_close($conexao); $i; $i=0; while ($linha = mysql_fetch_array($resultado)) { $nome=$linha[0]; $i=$i+1; } if($i = 0) { header("Location: index_erro.php"); } ?> verifique também se a pagina index_erro.php está na mesma pasta. Compartilhar este post Link para o post Compartilhar em outros sites
surfboy.le 0 Denunciar post Postado Outubro 21, 2009 Caso o erro persistir eu recomendo após o login você direcionar para uma página de testes. NO formulário de login <form action="teste.php" method="POST"> na teste php coloque apenas o teste: faça a conexão com o banco e faça o direcionamento para a página desejada usando header(); o usuario nao saberá da existencia dessa página, digamos que seu login é no index.php, ele envia para o teste.php e do teste.php direciona para erro.php ou para logado.php sem o usuario final ver. Boa sorte! http://forum.imasters.com.br/public/style_emoticons/default/yes.gif Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 27, 2009 mudei o codigo e mesmo asim nao funciona nem por decreto o header abaixo o codigo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>INTRAELSA</title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> <style type="text/css"> .pontilhado{ border-style: dotted; border-width: 2px; border-color: 000000; background-color: FFFFFF; font-family: verdana, arial; font-size: 10pt; } </style> <div align="center"> <div id="base" style="position:absolute; width:480px; height:255px; z-index:1; left: 222px; top: 26px;"> <p><img src="fatia_elsa2_f01.png" width="463" height="57" /> </p> <div id="caixa_login" class ="pontilhado" style="position:absolute; width:271px; height:119px; z-index:1; left: 92px; top: 81px;"> <?php $login = $_POST['login']; $senha = $_POST['senha']; ?> <form name="login_area" action="index.php" method="post" > <p align="center"> <br /> Login: <input type="text" name="login" /> <br /> <br /> Senha: <input type="password" name="senha" /> <br /> <input type="submit" name="Submit" value="logar" /> </p> <p> <?php if((isset($login) && isset($senha)) && (empty($login) || empty($senha))){ echo 'Atencao login ou senha invalidos'; }else { header('Location: index2.php'); } ?> </p> </form> </div> </div> </div> </html> o que deve ser agora? o erro que da no navegador e o seguinte: Warning: Cannot modify header information - headers already sent by (output started at /var/www/index.php:6) in /var/www/index.php on line 53 Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 27, 2009 Para o header funcionar, não pode haver saída nenhuma de html antes. Por isto, mude a ordem. Tire este código <?php if((isset($login) && isset($senha)) && (empty($login) || empty($senha))){ echo 'Atencao login ou senha invalidos'; }else { header('Location: index2.php'); } ?> De onde ele está e coloque no início do script, na primeira linha. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 27, 2009 Para o header funcionar, não pode haver saída nenhuma de html antes. Por isto, mude a ordem. Tire este código <?php if((isset($login) && isset($senha)) && (empty($login) || empty($senha))){ echo 'Atencao login ou senha invalidos'; }else { header('Location: index2.php'); } ?> De onde ele está e coloque no início do script, na primeira linha. Carlos Eduardo pois entaun pela condiçao ele so retorna o html se o if for verdadeiro se nao ele redireciona. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 27, 2009 Vou exemplificar um uso errado do header: <p>texto em html</p> <?php header.. ?> entendeu? não pode ter nenhuma 'saída' acima do header Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 27, 2009 Vou exemplificar um uso errado do header: <p>texto em html</p> <?php header.. ?> entendeu? não pode ter nenhuma 'saída' acima do header um uso errado seria: <html> <head> ... <?php header ...> o certo seria ? <?php condiçoes bla bla bla> <html> <body> ... Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Outubro 27, 2009 isso abaixo nao funciona <?php include "conecta.php"; // Conecta ao banco de dados ?> <?php $login = $_POST['login']; $senha = $_POST['senha']; ?> <?php if(empty($login) || empty($senha)) { header("Location: bloqueado.php"); } ?> pagina para logar <head> <title>INTRAELSA-LOGIN</title> <div align="center"> <div id="base" style="position:absolute; width:480px; height:255px; z-index:1; left: 222px; top: 26px;"> <p><img src="fatia_elsa2_f01.png" width="463" height="57" /> </p> <div id="caixa_login" class ="pontilhado" style="position:absolute; width:271px; height:119px; z-index:1; left: 92px; top: 81px;"> <form name="login_area" action="seguranca.php" method="post" > <p align="center"> <br /> Login: <input type="text" name="login" /> <br /> <br /> Senha: <input type="password" name="senha" /> <br /> <input type="submit" name="Submit" value="logar" /> </p> <p> </p> </form> </div> </div> </div> </html>esse nao funciona Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 27, 2009 <?php $login = $_POST['login']; $senha = $_POST['senha']; if((isset($login) && isset($senha)) && (empty($login) || empty($senha))) { echo 'Atencao login ou senha invalidos'; } else { header('Location: index2.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>INTRAELSA</title> <script language="Javascript" type="text/Javascript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> <style type="text/css"> .pontilhado{ border-style: dotted; border-width: 2px; border-color: 000000; background-color: FFFFFF; font-family: verdana, arial; font-size: 10pt; } </style> <div align="center"> <div id="base" style="position:absolute; width:480px; height:255px; z-index:1; left: 222px; top: 26px;"> <p><img src="fatia_elsa2_f01.png" width="463" height="57" /> </p> <div id="caixa_login" class ="pontilhado" style="position:absolute; width:271px; height:119px; z-index:1; left: 92px; top: 81px;"> <form name="login_area" action="index.php" method="post" > <p align="center"> <br /> Login: <input type="text" name="login" /> <br /> <br /> Senha: <input type="password" name="senha" /> <br /> <input type="submit" name="Submit" value="logar" /> </p> <p> </p> </form> </div> </div> </div> </html> Tente assim. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites