Ir para conteúdo
Fórum CódigoFonte.net
  • Anúncios

    • codigofonte

      Novo Fórum

      Pessoal, Atualizamos nossa versão do fórum para a mais recente da Invision Power. Como tínhamos uma versão muito antiga, talvez algumas áreas possam funcionar de forma errada ou com problemas, gostaria de pedir-lhes a compreensão, pois iremos resolvendo aos poucos. Até mais!
Entre para seguir isso  
fjucks

erro ao pegar dados da sessão

Recommended Posts

pessoal, tenho o seguinte código:

 


if(!$_SESSION['autUser']){ //verifica se existe a sessao se existir...
    header('Location: index.php');
}else{
    $userId = $_SESSION['autUser']['id']; //..verifica o usuario
    $readAutUser = read('up_users',"WHERE id = '$userId'");
    if($readAutUser){
       foreach($readAutUser as $autUser);
        if($autUser['nivel'] < '1' || $autUser['nivel'] > '2'){
           header('Location: '.BASE.'/pagina/perfil');
        }
    }else{
        header('Location: index.php');
    }
}
?>

 

 

porém não pega os dados do usuario da sessão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa debugar o código guerreiro:

	<?php
if(!$_SESSION['autUser']){ //verifica se existe a sessao se existir...
    header('Location: index.php');
}else{
	//Até aqui blz...  verificou se existe a sessão "autUser"
	
    //Para que isso?
    $userId = $_SESSION['autUser']['id']; //..verifica o usuario
	    //O que essa função READ() faz?
    $readAutUser = read('up_users',"WHERE id = '$userId'");
	    //Não sei o que essa função anterior faz mas eu vou supor que caia nesse if
    if($readAutUser)
    {
       //Verificar a estrutura da array:
	       echo '<br><b>Estrutura da variável $readAutUser</b><br>';
       echo '<pre>';  
       var_dump($readAutUser);
       echo '<pre><br><br>';  
	       foreach($readAutUser as $autUser);
	       //Verificar a estrutura da array $autUser para ver se de fato existe esse índice ['nivel']
       echo '<br><b>FOREACH: $autUser</b><br>';
       echo '<pre>';  
       var_dump($autUser);
       echo '<pre><br><hr>'; 
	        if($autUser['nivel'] < '1' || $autUser['nivel'] > '2')
        {
           header('Location: '.BASE.'/pagina/perfil');
        }
	
    }else{
        header('Location: index.php');
    }
}
?>
	

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu nobre, a saída é usar depois de header(...); logo na linha de baixo a função exit();  ficando algo como:

if(!$QUALQUERVARIAVEL) ou if($QUALQUERVARIAVEL == false) {

header('Location: index.php');

exit();

}

Usando EXIT ele vai redirecionar sem executar o restante do código :).

Outra coisa que você tem que atentar é que no começo do seu script deve haver:

 

<?php

session_start();

 

Para iniciar a sessão e haver um controle de cookies ativo :).

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×