Ir para conteúdo

Arquivado

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

Vanderlan

Redirecionamento Páginas níveis de acesso

Recommended Posts

Estou criando um sistema em PHP com níveis de acesso, mas estou com um problema com relação as permissões.

 

Como eu faço para que na hora do login o usuario seja redirecionado para determinada pagina conforme o seu nível de acesso.

 

Por exemplo:

 

Temos três perfis de usuarios, que são Coordenador, Gerente e Fiscal.

 

 

Na hora de logar como faço para que o coordenador seja direcionado para determinada página e o gerente para outra?

 

 

tentei com o código abaixo, mas não funcionou devido não conseguir.

 

por que tipo quando o cara logar se ele não tiver permissão para entrar em determinada pagina eu quero que ele vá para outra.

 

<?php

if (!isset($_SESSION)) session_start();

$nivel_necessario = 2;

if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) {
session_destroy();

header("Location: index.php"); exit;
}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, não sei exatamente como você pretende registrar o ID de um usuário com nível de acesso, mas fiz um script bem simples como exemplo. Espero que sirva.

Tudo o que eu fiz foi criar três variáveis com seus respectivos níveis de acessos e um verificador

de sessões. Ou seja, se não existir as sessões 'UsuarioID' ou 'UsuarioNivel', ela é automaticamente destruída e o usuário volta para a index. Se ambas as sessões existem, então é feito a verificação de permissão que por fim encaminha o usuário para sua respectiva página.

 

Eu inclui também duas sessões para testar a funcionalidade do código. Caso queira, pode-se remove-las posteriormente e adaptar o código de acordo com sua necessidade.

<?php
	session_start();
	
	// Perfil e nível de acesso
	$coordenador = 0;
	$gerente = 1;
	$fiscal = 2;
	
	// As duas linhas abaixo foram add para testes;
	$_SESSION['UsuarioID'] = 'Joaozinho'; 
	$_SESSION['UsuarioNivel'] = $coordenador; 
	// Fim das linhas de teste /\
	
	if(isset($_SESSION['UsuarioID']) && isset($_SESSION['UsuarioNivel'])){
		if($_SESSION['UsuarioNivel'] == $coordenador){
			//header("Location: coordenador.php");
			echo "Olá ".$_SESSION['UsuarioID']." [Coordenador]";
		}elseif ($_SESSION['UsuarioNivel'] == $gerente){
			//header("Location: gerente.php");
			echo "Olá ".$_SESSION['UsuarioID']." [Gerente]";
		}elseif ($_SESSION['UsuarioNivel'] == $fiscal){
			//header("Location: fiscal.php");
			echo "Olá ".$_SESSION['UsuarioID']." [Fiscal]";
		}
	}else{
		session_destroy();
		//header("Location: index.php");
		echo "A sessao 'UsuarioID' e/ou 'UsuarioNivel' nao existe(m).";
		exit;
	}
?>

Qualquer dúvida, basta perguntar.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

DeathStroker,

 

 

Muito obrigado pela ajuda, são pessoas como você que o forum precisa.

 

 

PS: vou testar o script ainda hoje e retorno se funcionou de qualquer maneria obrigado.

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.