Ir para conteúdo

POWERED BY:

Arquivado

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

gedmilson

Problema em criar condição para aceitar níveis de acesso

Recommended Posts

Estou com problemas em criar um condição de níveis de cesso tentei fazer do seguente modo:

  <?php
                if (!isset($_SESSION["cod"])) {
                    ?>
                    <a class="navbar-brand" href="?pagina=cadastro">Cadastre-se</a>
            <?php
                }
            ?>
            
            <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
                <li class="nav-item active">
                    <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <?php
                    if (isset($_SESSION["permissao"]) == 2) {
                ?>    
                <li class="nav-item">
                    <a class="nav-link" href="logout.php">Sair</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="View/ClienteView/index.html">Admin Cliente</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="View/ClienteView/index.html">Ofertas de empregos</a>
                </li>                
            <?php
                }elseif (isset($_SESSION["permissao"]) == 3) {
            ?>    
                <li class="nav-item">
                    <a class="nav-link" href="logout.php">Sair</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="View/EmpresarioView/index.html">Admin Empresário</a>
                </li>
            <?php
                }elseif (isset($_SESSION["permissao"]) == 4) {
            ?>    
                <li class="nav-item">
                    <a class="nav-link" href="logout.php">Sair</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="View/EmpresarioView/index.html">Admin Autonomo</a>
                </li>
            <?php

Mas tudo que consegui foi que mostrasse somente o cliente.

Se alguém poder me dar uma ajuda ficarei muito agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente você não pode checar se existe de algo no php ao mesmo tempo de que checa seu valor, ou bem você faz uma coisa ou faz outra. Me refiro a isso (isset($_SESSION["permissao"]) == 3)

Você poderia fazer assim

if (isset($_SESSION["permissao"]) && $_SESSION["permissao"] == 3) { ......

Sou seja verifico se existe e se é tal valor.

Veja esse exemplo, poderia implementar assim:

Spoiler

<?php
session_start();

if (!isset($_SESSION['cod'])) {
    echo ("Quando não existe, a sessão \"cod\" isso será mostrado <br />");
}

$permissao = isset($_SESSION['permissao']) ? $_SESSION['permissao'] : null;

switch ($permissao) {
    case 1:
        echo ("Quando a sessão \"permissao\" for \"1\" isso será mostrado <br />");
    break;
    case 2:
        echo ("Quando a sessão \"permissao\" for \"2\" isso será mostrado <br />");
    break;
    case 3:
        echo ("Quando a sessão \"permissao\" for \"3\" isso será mostrado <br />");
    break;
    case 4:
    case 5:
        echo ("Quando a sessão \"permissao\" for \"4 ou 5\" isso será mostrado <br />");
    break;
    default:
        echo ("Quando a sessão \"permissao\" não existir ou não for \"1,2,3,4,5\" isso será mostrado <br />");
    break;
}

 

 

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.