Duas condições em um IF com php

PHP

30/04/2021

Boa tarde!!

Estou tentando fazer uma validação onde preciso verificar se o nome do usuário bate (Isso está OK) e se a permissão é 1 ou 2.

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

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

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

$row = mysqli_num_rows($result);

if($row == 1) {
	$usuario_bd = mysqli_fetch_assoc($result);
	$_SESSION['nome'] = $usuario_bd['nome'] AND $usuario_bd['permissao'] = 1; //(Essa segunda validação que eu não sei fazer, onde $usuario_bd['permissao'] tem de ser = a 1 ai manda para permissao1.php se for = a 2 mandar para permissao2.php e se não for nenhum dos dois, manda para tela de login.
	header('Location: ../permissao1.php');
	exit();
} else {
	$_SESSION['nao_autenticado'] = true;
	header('Location: ../index.php');
	exit();
}


Desculpa o código confuso, estou aprendendo ainda.
Obrigado pela ajuda e pelas dicas.
Jeferson

Jeferson

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

30/04/2021

primeiro: você precisa trazer a permissão na instrução.
$query = "select nome from usuario where senha = md5('{$senha}')"

deveria ser:
$query = "select nome, permissao from usuario where senha = md5('{$senha}')"


depois:
    $usuario_bd = mysqli_fetch_assoc($result);

    // a verificação do nome do usuário não poderia ser feita diretamente na query (where)??
    if ($_SESSION['nome'] == $usuario_bd['nome']) {
        if ($usuario_bd['permissao'] == 1) {
            // faça algo se verdadeiro
        } else {
            // faça algo se verdadeiro
        }
    }

GOSTEI 1

Mais Respostas

Jeferson

Jeferson

30/04/2021

Essa segunda validação que eu não sei fazer, onde
$usuario_bd['permissao'] tem de ser = 1

ai manda para permissao1.php
se for = 2

mandar para permissao2.php
e se não for nenhum dos dois, manda para tela de login.
GOSTEI 0
Jeferson

Jeferson

30/04/2021

Emerson Nascimento, entendi sua explicação e implantei.

Tudo funcionando agora, obrigado pela aula amigo.
Um excelente final de tarde para você e um otimo final de semana.
GOSTEI 0
POSTAR