Duvida redirecionamento

Alguem poderia me ajudar com uma duvida

eu tenho um banco de dados que cadastr um usuario e colica ele como nivel 0 1 e 2 preciso que quando o usuario entre o sistema pegue estes niveis e abra a pagina direcionada para cada um deles…tentei comando simples php…

<?php
	session_start();
	
	// Perfil e nível de acesso
	$user_normal = 0;
	$user_premium = 1;
	$user_adm = 2;
	

	if(isset($_SESSION['UsuarioID']) && isset($_SESSION['UsuarioNivel'])){
		if($_SESSION['UsuarioNivel'] == $user_normal){
			header("Location: coordenador.php");
			
			echo "Olá ".$_SESSION['UsuarioID']." [$usuario]";
			
		}elseif ($_SESSION['UsuarioNivel'] == $user_premium){
			header("Location: gerente.php");
			
			echo "Olá ".$_SESSION['UsuarioID']." [$usuario]";
			
		}elseif ($_SESSION['UsuarioNivel'] == $user_adm ){
			header("Location: ADM/index.html");
			
			echo "Olá ".$_SESSION['UsuarioID']." [$usuario]";
		}
	}else{
		session_destroy();
		header("Location: index.html");
		echo "A sessao 'UsuarioID' e/ou 'UsuarioNivel' nao existe(m).";
		exit;
	}
?>

simplificando o usuário entra no sistema eh validado e quando esta ok este script entre em ação direcionando ele para cada pagina porem não entendi o pq esta destruindo a sessão.

Cara faz um favor (na verdade boa prática) formata o código pra gente vai?

Você pedir uma ajuda blz, agora querer que a gente leia seu código todo amontoado desse jeito não vira né, nos ajude a te ajudar jovem!?

desculpe estou ainda aprendendo a usar a plataforma

Vou te mostrar outra forma de fazer e vc ve se melhora/ajuda:

<?php
// Perfil e nível de acesso
define('USER_NORMAL', 0);
define('USER_PREMIUM', 1);
define('USER_ADM', 2);

session_start();

if (!isset($_SESSION['UsuarioID']) || !isset($_SESSION['UsuarioNivel'])) {
    session_destroy();
    header("Location: index.html");
    exit;
}

$url = 'index.html';

switch ($_SESSION['UsuarioNivel']) {
    case USER_NORMAL:
        $url = 'coordenador.php';
        break;
    case USER_PREMIUM:
        $url =  'gerente.php';
        break;
    case USER_ADM:
        $url = 'ADM/index.html';
        break;
}
header("Location: $url");
exit;
?>

Troquei suas variáveis por constantes já que cada numero representa um perfil, variáveis não são a melhor escolha aqui, pois você pode “trocar” seus valores sem perceber em outro ponto do script e bugar tudo, usando define você não corre esse risco (boa prática como nome de constante sempre em caixa alta/letra maiúscula)…

Boa prática em php, sempre que usar header(‘Location…’) use um exit após, isso evita o script continuar pois o header pode ter um “certo atraso” executando linhas abaixo dele que não eram pra rodar, pesquise mais a respeito para entender…

Percebeu que tirei os echos do script? O ideal é deixar cada um em sua página responsável, afinal trata-se de uma saudação e cada página pode ter a sua, além do mais, se o header for executado, o echo nem irá aparecer por estar na página anterior pegou?

Caso ainda esteja “matando” a session, você terá de ver outras páginas que chamam session_destroy…

Vai testando, são formas de fazer e você vai descobrir a melhor, boa sorte!

brigadao!! vlw irei ver aqui