Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou montando um protótipo de área gerenciável do site mais ocorre um erro muito estranho.Se eu tento acessar o link que deveria negar o acesso caso não houvesse usuário logado, ele acessa normalmente só que com o erro abaixo logo no início do arquivo:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/admindex2.php:1) in /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/sql-autentica.php on line 2Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/admindex2.php:1) in /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/sql-autentica.php on line 2Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/admindex2.php:1) in /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/sql-autentica.php on line 4
Já se eu logo o usuário na tela anterior de login aparece esse erro:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/admindex2.php:1) in /hsphere/local/home/detalhes/detalhesbrindes.com.br/v2/sql-autentica.php on line 2
O mais estranho é q eu usei a mesma maneira de criar páginas protegidas em outro site e funcionou normalmente...A área administrativa funciona da seguinte maneira, tem um admindex.php que contém um form pra preencher login e senha, no submit as variaveis via POST vão pro admlogin.php, que consulta as variáveis no banco de dados mysql e se as informações estiverem erradas manda de volta pro admindex.php com uma variável via GET indicando falha no login... caso contrário ele grava o login e id do usuário em variáveis de sessão e vai pra admindex2.php. A admindex2.php requere logo no início o sql-autentica.php, que checa as variáveis de sessão, se estiver preenchido ok acessa a página, se não volta pro admindex.php... mais pelo que entendih é aí que o problema aparece... Esse erro não está afetando a funcionalidade da admindex2.php, só que ele deixa o admindex2.php aberto pra qualquer usuário... ele naum verifica o usuário antes... já procurei num monte de lugar uma resposta e nada que tenha resolvido meu problema.... alguém tem alguma idéia??Esse é o código do sql-conexao.php<?php$host = "**********";$user = "**********";$pass = "**********";$db = "**********";$sqlconexaohost = mysql_connect($host,$user,$pass) or die("No foi possivel conectar ao servidor");$sqlconexaodb = mysql_select_db($db) or die("No foi possivel conectar ao banco de dados");mysql_query("SET NAMES 'utf8'");?>Esse é o código do sql-autentica.php<?phpsession_start();if(empty($_SESSION[id]) || empty($_SESSION[nome])){ header("Location:admindex.php?login=erro");};?>Esse é o código do admlogin.php<?phprequire_once("sql-conexao.php");$usuario = $_POST["usuario"];$senha = $_POST["senha"];$sqlcomando = "SELECT * FROM usuarios WHERE cUsuario = '$usuario' AND cSenha = '$senha'";$sqlconsulta = mysql_query($sqlcomando);$sqllinhas = mysql_num_rows($sqlconsulta);if($sqllinhas == 0){ header("Location:admindex.php?login=erro");}else{ session_start(); $_SESSION[id] = mysql_result($sqlconsulta,0,"id"); $_SESSION[nome] = mysql_result($sqlconsulta, 0, "cNome"); mysql_query("UPDATE usuarios SET cUltimoAcesso=now() WHERE id=$_SESSION[id]"); header("Location:admindex2.php");};mysql_close();?>Esse é o código do admindex2.php<?php require("sql-autentica.php");?><?php require_once("sql-conexao.php");?><?php$categoria = $_GET["cat"];$faixaprod = $_GET["fprod"];if($faixaprod==""){ $faixaprod = 0;}$sqlcomando = "SELECT * FROM produtos ORDER By id ASC";$sqlconsulta = mysql_query($sqlcomando);$sqllinhas = mysql_num_rows($sqlconsulta);$maxlinhas = 20;if($faixaprod+$maxlinhas > $sqllinhas){ $consultalinhas = $sqllinhas;}else{ $consultalinhas = $faixaprod+$maxlinhas;};?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">Carregando comentários...