studdiox 0 Denunciar post Postado Setembro 29, 2015 E aee galera .... me deparei com um problema estranho ... tenho um sistema e apliquei em uma nova hospedagem ... na hospedagem antiga roda liso sem erros .... na nova ao querer logar no painel de adm de cara ja aparece a mensagem Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/site/log-admin.php:17) in /home/www/site/log-admin.php on line 19 blz olhando o cod da pagina indicada log-admin.php abaixo seria a parte ja de incio da session_start correto ? <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>: : : PAINEL DE ADMINISTRACAO DO WEBSITE : : :</title> <style type="text/css"> <!-- body, td, th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; } body { background-color: #000000; } a:link { color: #000000; text-decoration: none; } a:visited { color: #000000; text-decoration: none; } a:hover { color: #000000; text-decoration: none; } a:active { color: #000000; text-decoration: none; } --> </style> </head> <body> <?php session_name("USER1,USER2"); session_start(); session_destroy(); if($_GET['login'] == "falhou") { print $_GET['causa']; } ?> <form name="form1" method="post" action="loga.php?acao=logar"> <div align="center"> <p> </p> <p>Painel de Acesso <br> </p> </div> <table width="338" border="0" align="center" cellpadding="4" cellspacing="2"> <tr> <td width="59" bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333">NOME : </td> <td width="239" bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333"> <label> <input name="nome" type="text" id="nome" size="35"> </label> </td> </tr> <tr> <td bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333">SENHA : </td> <td bordercolor="#333333" background="images/barramenu.jpg" bgcolor="#333333"> <label> <input name="pwd" type="password" id="pwd" size="35"> </label> </td> </tr> <tr> <td colspan="2" bordercolor="#333333" bgcolor="#333333"> <div align="center"> <label> <input type="submit" name="Submit" value="ENTRAR"> </label> <div align="right"></div> </div> <div align="right"></div> </td> </tr> </table> <div align="center"><br> <br> <br> <br> <br> <br> <label> </label> <br> </div> </form> </body> </html> Blz o formulario envia para a pagina loga.php abaixo aqui aparece outro erro pois mesmo com um erro na primeira pagina ele loga e deixa editar aparecendo a seguinte mensagem já mencionando o arquivo loga.php na linha 3 e o erro que diz linha 93 da pagina admin.php é um <? require("loga.php"); ?> Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/site/admin.php:93) in /home/www/site/loga.php on line 3 <?php session_name("USER1,USER2"); session_start(); if($acao == "logar") { $conn = mysql_connect("mysql.site.com.br","user","senha"); $banco = mysql_select_db("bancodedados"); $nome = $_POST['nome']; $q_user = mysql_query("SELECT * FROM sis_login WHERE login='$nome'"); if(mysql_num_rows($q_user) == 1) { $query = mysql_query("SELECT * FROM sis_login WHERE login='$nome'"); $dados = mysql_fetch_array($query); if($_POST['pwd'] == $dados['senha']) { session_register("nome"); header("Location: admin.php"); exit; } // Senha inválida else { echo("<script>"); echo("alert('Senha Inválida !!');"); echo("document.location='index.php';"); echo("</script>"); } } // Login inválido else { echo("<script>"); echo("alert('Login Inválido !!');"); echo("document.location='index.php';"); echo("</script>"); } } //agora a parte que verifica se o login já foi feito if(!session_is_registered("nome")) { // Usuário não logado! Redireciona para a página de login echo("<script>"); echo("alert('Acesso Negado !!');"); echo("document.location='index.php';"); echo("</script>"); } ?> Ai vem a duvida no session ... ele pega o usuario passa para o painel admin.php deixa editar mas continua exibindo a mensagem Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/site/verifica_alteracoes.php:17) in /home/www/site/loga.php on line 3 Se alguem tiver uma solução ou ja passou por isso e puder dar uma força eu agradeço muito Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 29, 2015 Esse erro é um dos mais batidos, bastaria você pesquisar por 10 segundos aqui mesmo no fórum e já encontraria a solução: session_start() deve estar ANTES de qualquer saída para o navegador (html, echo, etc). Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 29, 2015 http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#header Compartilhar este post Link para o post Compartilhar em outros sites
studdiox 0 Denunciar post Postado Setembro 29, 2015 Ok mas ele já não começa na primeira pagina <?phpsession_name("USER1,USER2");session_start();session_destroy();if($_GET['login'] == "falhou") {print $_GET['causa'];}?> já esta ali não ? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 29, 2015 Vou tentar explicar um pouco melhor: CORRETO: <?php session_start(); ?> bla bla bla ERRADO: bla bla bla <?php session_start(); ?> Na sua primeira página tem um caralhada de HTML antes do session_start(), por isto o erro ocorre. Compartilhar este post Link para o post Compartilhar em outros sites
studdiox 0 Denunciar post Postado Setembro 29, 2015 Fiz um teste aqui com o cod que o amigo rberaldo tem em seu post sobre erros <?php ini_set( 'display_errors', 1 ); error_reporting( E_ALL | E_STRICT );?> e me retornou o seguinte ... mesmo ja logado no painel de adm ... Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/site/admin.php:100) in /home/www/site/loga.php on line 3 Notice: Undefined variable: acao in /home/www/site/loga.php on line 5Deprecated: Function session_is_registered() is deprecated in /home/www/site/loga.php on line 40 as linhas indicadas seriam essas :huh: 5 . if($acao == "logar") {6 . $conn = mysql_connect("mysql.site.com.br","user","senha");7 . $banco = mysql_select_db("bancodedados");.... 40 . if(!session_is_registered("nome")) {41 . / Usuário não logado! Redireciona para a página de login42 . echo("<script>");43 . echo("alert('Acesso Negado !!');"); ..... Compartilhar este post Link para o post Compartilhar em outros sites
studdiox 0 Denunciar post Postado Setembro 29, 2015 Vou tentar explicar um pouco melhor: CORRETO: <?php session_start(); ?> bla bla bla ERRADO: bla bla bla <?php session_start(); ?> Na sua primeira página tem um caralhada de HTML antes do session_start(), por isto o erro ocorre. hummmmm ok vamos mudar :D :D :D Compartilhar este post Link para o post Compartilhar em outros sites
studdiox 0 Denunciar post Postado Setembro 29, 2015 Não tivemos sussesso hummmmm ok vamos mudar :D :D :D Não tivemos sussesso meu amigo coloquei o session bem no inicio livre de todo o cod html mas ... Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/site/log-admin.php:1) in /home/www/site/log-admin.php on line 2 Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 29, 2015 Provavelmente o arquivo está salvo como UTF8 com B.O.M., salve apenas como UTF8 e teste. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Setembro 29, 2015 Irmão, basta colocar o seu código na orem correta. session_start() deve entrar na PRIMEIRA linha do seu código. Ou você pode ainda armazenar a saída em um buffer e depois liberar no fim do código, basta colocar um ob_start() na PRIMEIRA linha do seu código e um ob_end_flush() na ÚLTIMA linha do seu código pra, respectivamente, iniciar um output buffer, armazenar a saída nele e então lançar o buffer e limpa-lo completamente. Compartilhar este post Link para o post Compartilhar em outros sites
studdiox 0 Denunciar post Postado Setembro 29, 2015 Mazahhhh galo veio funcionando liso agora .... não sei se era isso mas mudei o CHMOD das paginas e funcionou ... muito obrigado pelas dicas :D :D :D :D :D :D ;) ;) ;) ;) Compartilhar este post Link para o post Compartilhar em outros sites