Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dark Phoenix

[Resolvido] Problema com session e header

Recommended Posts

Bom dia novamente galera,

estou tendo um problema aqui onde estou criando um sistema de login, com session

bom eu faço o login, ele autentica corretamente, salvando os sessions e tudo. Porem quando ele direiciona para o index.php, era pra ser exibido "Nivel de usuario : $nivel", ele exibe isso até corretamente porém me são exibidos 2 warnings

 

Erros:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\index.php:1) in C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\index.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\index.php:1) in C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\valida_session.php on line 2
 Nivel de Usuario: 2

Index.php

<?php
ob_start();
session_start();
include ('valida_session.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=utf-8" />
<title>Documento sem título</title>
</head>

<body>
Nivel de Usuario: <?php 
echo  ($_SESSION['nivel_usuario']);
ob_end_flush();
?>
</body>
</html>

Valida_session.php

<?php 
header("Content-Type: text/html; charset=utf-8",true);
ob_start();
session_start();

if(IsSet($_SESSION["nome_usuario"]))
    $nome_usuario = $_SESSION["nome_usuario"];
if(IsSet($_SESSION["senha_usuario"]))
    $senha_usuario = $_SESSION["senha_usuario"];

if(!(empty($nome_usuario) OR empty($senha_usuario)))
{
    include "conect.php";
	$resultado = mysql_query("SELECT * FROM usuarios WHERE usuario='$nome_usuario'");
	if(mysql_num_rows($resultado)==1)
	{
		if($senha_usuario != mysql_result($resultado,0,"senha"))
		{
            unset ($_SESSION['nome_usuario']);
	        unset ($_SESSION['senha_usuario']);
            header ("Location: login.html");
        }
    }
    else
    {
        unset ($_SESSION['nome_usuario']);
	    unset ($_SESSION['senha_usuario']);
        header ("Location: login.html");
    }
}
else
{
 header ("Location: login.html");
}

ob_end_flush();
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta repetindo tudo, lei o erro.

 

deixa para escrever somente uma vez

 

header("Content-Type: text/html; charset=utf-8",true);

ob_start();

session_start();

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok pelo que entendi, é pra eu retirar o essa parte do index.php

 

retirei deixando assim:

 

index.php

<?php
include ('valida_session.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=utf-8" />
<title>Documento sem título</title>
</head>

<body>
Nivel de Usuario: <?php 
echo  ($_SESSION['nivel_usuario']);
?>
</body>
</html>

Agora o erro mudou

 

Erros:

 

Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\index.php:1) in C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\valida_session.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\index.php:1) in C:\Arquivos de programas\VertrigoServ\www\teste2\clientes\valida_session.php on line 4
 Nivel de Usuario: 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

bah problema resolvido

analizando outros topicos aqui vi a resposta do João Batista Neto e era o BOM:

 

Isso está me parecendo BOM, tente copiar todo o conteúdo do seu arquivo em um editor simples (bloco de notas por exemplo), salve novamente com o mesmo nome e tente executar.

 

vlw pela ajuda Leandromx e João Batista Neto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Afff...sinceramente, será q as coisas mais básicas ninguém tem a curiosidade de pelo menos ler?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.