Fórum Duas condições em um IF com php #615646

30/04/2021

0

PHP

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

Responder

Post mais votado

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
        }
    }

Emerson Nascimento

Emerson Nascimento
Responder

Gostei + 1

Mais Posts

30/04/2021

Jeferson

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.
Responder

Gostei + 0

30/04/2021

Jeferson

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.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar