Ir para conteúdo
Fórum CódigoFonte.net
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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...