Jump to content
freiitaz

Ajuda - Login de níveis de acesso

Recommended Posts

Estou com dificuldades pra diferenciar os níveis do usuário, pois eu quero mandar cada usuário em uma pagina especifica, se alguém puder me ajuda agradeço desde já

 

Login.php

<?php

session_start();
include('conexao.php');

if (empty($_POST['usuario']) || empty($_POST['senha'])) {
    header('Location: index.php');
    exit();
}

$usuario = mysqli_real_escape_string($conexao, $_POST['usuario']);
$senha = mysqli_real_escape_string($conexao, $_POST['senha']);
$nivel = mysqli_real_escape_string($conexao, $_POST['nivel']);


$query = "select usuario from usuario where usuario = '{$usuario}' and senha = md5('{$senha}')";

$result = mysqli_query($conexao, $query);

$row = mysqli_num_rows($result);

if ($row == 1) {
    $_SESSION['usuario'] = $usuario;
    $_SESSION['nivel'] = Master;
    header('Location: Pagina1.php');
    exit();
} elseif ($row == 2) {
    $_SESSION['usuario'] = $usuario;
    $_SESSION['nivel'] = Auxiliar;
    header('Location: Pagina2.php');
} else {
//pagina de login
    $_SESSION['nao_autenticado'] = true;
    header('Location: index.php');
    exit();
}

 

Share this post


Link to post
Share on other sites

Olá!

A variável $row, corresponde à quantidade de usuários encontrados com aquele usuario e senha.

 

Muito provavelmente, na tabela sql onde o sr. salva os users, deve haver uma coluna para guardar o nível de acesso daquele user.

use o valor dessa coluna pra fazer os redirecionamentos.

Share this post


Link to post
Share on other sites
20 horas atrás, tetsuo disse:

use o valor dessa coluna pra fazer os redirecionamentos.

 

bom a variavel que estou usando para o nivel é $nivel mas quando ajusto o codigo para que chame ela ela não acaba autenticando 

 


if ($nivel == 1) {
    $_SESSION['usuario'] = $usuario;
    header('Location: pagina1.php');
    exit();
} elseif ($nivel == 2) {
    $_SESSION['usuario'] = $usuario;
    header('Location: pagina2.php');
} else {
    $_SESSION['nao_autenticado'] = true;
    header('Location: index.php');
    exit();
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By dutopfave
      Boa Noite Galera, estou com dúvida em como cria um cadastra de VARIAÇÕES DE PRODUTOS.

      Ex.: Tenho um produto que é um TENIS, ai nele vou criar as VARIAÇÕES, então vou usa COR e TAMANHO.
      COR: preto, verde, azul
      TAMANHO: 39, 40, 41

      até ai blz, porém a duvida é como fazer o cadastrado de combinações de cor e tênis, tipo no banco de dados teria q fica exatamente assim....

      ID | COR | TAMANHO
      ... | preto | 39
      ... | preto | 40
      ... | preto | 41
      ... | verde | 39
      ... | verde | 40
      ... | verde | 41
      ... | azul | 39
      ... | azul | 40
      ... | azul | 41

      alguém tem alguma solução
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.