Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Barbosa

[Resolvido] Erro criando SESSION

Recommended Posts

Pessoal, estou um erro quando coloco o session_start() na página onde crio sessions:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/arthnetc/public_html/agenda/Conexao/validaUser.php:1) in /home/arthnetc/public_html/agenda/Conexao/validaUser.php on line 1

 

A página é essa:

<?php session_start(); ?>
<?php


include_once("conexaoPDO.php");

if (isset($_POST['acao']) && $_POST['acao'] == 'autenticaUser'){

	$login   		= $_POST['usuario'];
	$usuarioSenha   = $_POST['senha'];

	$select = "SELECT * FROM usuario WHERE usuarioLogin = :usuarioLogin AND usuarioSenha = :usuarioSenha";

	try{
		$query = $conecta->prepare($select);
		$query->bindValue(':usuarioLogin',$login,PDO::PARAM_STR);
		$query->bindValue(':usuarioSenha',$usuarioSenha,PDO::PARAM_STR);
		$query->execute();
		$registro = $query->rowCount();
		$result = $query->fetchAll(PDO::FETCH_ASSOC);
	} catch(PDOException $erro){
		echo "Erro na seleção, favor informa ao administrador do sistema ".$erro->getMessage();
	}

	if ($registro <= 0){
		echo "Usuário ou senha não cadastrados.";
	} else {

		foreach($result as $rs){

			$usuarioID			= $rs['usuarioID'];
			$usuarioNome		= $rs['usuarioNome'];
			$usuarioLogin		= $rs['usuarioLogin'];
			$usuarioSenha		= $rs['usuarioSenha'];
			$usuarioTipo		= $rs['usuarioTipo'];
			$usuarioUnidadeID	= $rs['usuarioUnidadeID'];	
			$usuarioSituacao	= $rs['usuarioSituacao'];
			$usuarioCep			= $rs['usuarioCep'];
			$usuarioEndereco	= $rs['usuarioEndereco'];
			$usuarioNumero		= $rs['usuarioNumero'];
			$usuarioBairro		= $rs['usuarioBairro'];
			$usuarioCidade		= $rs['usuarioCidade'];
			$usuarioTelefone	= $rs['usuarioTelefone'];
			$usuarioCelular		= $rs['usuarioCelular'];
			$usuarioEmail		= $rs['usuarioEmail'];

		}

		$_SESSION['usuario']['usuarioID'] 	   		  = $usuarioID;
		$_SESSION['usuario']['usuarioNome']    		  = $usuarioNome;
		$_SESSION['usuario']['usuarioLogin']  		  = $usuarioLogin;
		$_SESSION['usuario']['usuarioTipo']    		  = $usuarioTipo;
		$_SESSION['usuario']['usuarioUnidadeID'] 	  = $usuarioUnidadeID;

		$_SESSION['logado'] = "OK";

		if (($_SESSION['usuario']['usuarioTipo']) == 'A'){

			echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=http:index-admin.php'>";
		} else {
				echo "OPPSS..: EM CONSTRUÇÃO";
		}

	} // } else {

} // if (isset($_POST['acao']) && $_POST['acao'] == 'autenticaUser'){


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este arquivo está sendo chamado em alguma parte ?

 

O erro ocorre porque alguma informação já foi enviado para a página e isso pode ser um espaço, um Enter...

 

<?php
session_start();

      include_once("conexaoPDO.php");

....

?>

 

Tente mudar para como está acima e veja se da certo. Qualquer coisa você pode usar também o ob_start(), mas tente sem ele...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

<?php 
session_start(); 

       include_once("conexaoPDO.php");

       if (isset($_POST['acao']) && $_POST['acao'] == 'autenticaUser'){

               $login                  = $_POST['usuario'];
               $usuarioSenha   = $_POST['senha'];

               $select = "SELECT * FROM usuario WHERE usuarioLogin = :usuarioLogin AND usuarioSenha = :usuarioSenha";

               try{
                       $query = $conecta->prepare($select);
                       $query->bindValue(':usuarioLogin',$login,PDO::PARAM_STR);
                       $query->bindValue(':usuarioSenha',$usuarioSenha,PDO::PARAM_STR);
                       $query->execute();
                       $registro = $query->rowCount();
                       $result = $query->fetchAll(PDO::FETCH_ASSOC);
               } catch(PDOException $erro){
                       echo "Erro na seleção, favor informa ao administrador do sistema ".$erro->getMessage();
               }

               if ($registro <= 0){
                       echo "Usuário ou senha não cadastrados.";
               } else {

                       foreach($result as $rs){

                               $usuarioID                      = $rs['usuarioID'];
                               $usuarioNome            = $rs['usuarioNome'];
                               $usuarioLogin           = $rs['usuarioLogin'];
                               $usuarioSenha           = $rs['usuarioSenha'];
                               $usuarioTipo            = $rs['usuarioTipo'];
                               $usuarioUnidadeID       = $rs['usuarioUnidadeID'];      
                               $usuarioSituacao        = $rs['usuarioSituacao'];
                               $usuarioCep                     = $rs['usuarioCep'];
                               $usuarioEndereco        = $rs['usuarioEndereco'];
                               $usuarioNumero          = $rs['usuarioNumero'];
                               $usuarioBairro          = $rs['usuarioBairro'];
                               $usuarioCidade          = $rs['usuarioCidade'];
                               $usuarioTelefone        = $rs['usuarioTelefone'];
                               $usuarioCelular         = $rs['usuarioCelular'];
                               $usuarioEmail           = $rs['usuarioEmail'];

                       }

                       $_SESSION['usuario']['usuarioID']                         = $usuarioID;
                       $_SESSION['usuario']['usuarioNome']               = $usuarioNome;
                       $_SESSION['usuario']['usuarioLogin']              = $usuarioLogin;
                       $_SESSION['usuario']['usuarioTipo']               = $usuarioTipo;
                       $_SESSION['usuario']['usuarioUnidadeID']          = $usuarioUnidadeID;

                       $_SESSION['logado'] = "OK";

                       if (($_SESSION['usuario']['usuarioTipo']) == 'A'){

                               echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=http:index-admin.php'>";
                       } else {
                                       echo "OPPSS..: EM CONSTRUÇÃO";
                       }

               } // } else {

       } // if (isset($_POST['acao']) && $_POST['acao'] == 'autenticaUser'){


?>

se o erro pesistir bote ob_start(); em cima de session_start();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este arquivo está sendo chamado em alguma parte ?

 

O erro ocorre porque alguma informação já foi enviado para a página e isso pode ser um espaço, um Enter...

 

<?php
session_start();

      include_once("conexaoPDO.php");

....

?>

 

Tente mudar para como está acima e veja se da certo. Qualquer coisa você pode usar também o ob_start(), mas tente sem ele...

 

Não deu certo..

E antes mesmo de postar eu já tinha usado o ob_start(), rsrs, e não deu certo.

 

Tentei agora com ele e nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este arquivo está sendo chamado em alguma parte ?

Você ainda não respondeu...

 

Só vejo este problema, você pode estar chamando esta página, por include, muma outra onde já foram definidos os headers/cabeçalhos. Tipo:

 

<!DOCTYPE html>
<HTML>
<HEAD>
 <title>...</title>
 <base href="...">
 <!-- METAS -->
 <meta charset="ISO-8859-1">
 <meta name="keywords" content="">
 <meta name="description" content="">
 <meta name="robots" content="noindex,nofollow">
 <meta name="rating" content="general">
</HEAD>
<BODY class="Body Texto" id="Interno">


<?php include 'pagina.php'; ?>


</BODY>
</HTML>

Isto vai dar erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você ainda não respondeu...

 

Só vejo este problema, você pode estar chamando esta página, por include, muma outra onde já foram definidos os headers/cabeçalhos. Tipo:

 

<!DOCTYPE html>
<HTML>
<HEAD>
 <title>...</title>
 <base href="...">
 <!-- METAS -->
 <meta charset="ISO-8859-1">
 <meta name="keywords" content="">
 <meta name="description" content="">
 <meta name="robots" content="noindex,nofollow">
 <meta name="rating" content="general">
</HEAD>
<BODY class="Body Texto" id="Interno">


<?php include 'pagina.php'; ?>


</BODY>
</HTML>

Isto vai dar erro...

 

Não eu não estou colocando nenhum include, mas o problema você´s já tinha respondido e eu por estar fazendo várias coisas ao mesmo tempo não tinha visto a resposta.

Sim, antes da session_start() tinha uma linha em com caracteres estranhos, ou seja eu não tinha mudado o encode dele para utf8 sem BOM.

 

Vlw pessoal, todos os outros arquivos onde uso a session eu atentei para isso, mas exatamente esse eu me passei.

MUITO OBRIGADO A TODOS PELA ATENÇÃO.

DESCUPEM A MINHA FALTA DE ATENÇÃO.

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.