Solucionado (ver solução)
Solucionado
(ver solução)
10
respostas

Quero redirecionar o login de acordo com o nivel

Tenho este codigo para login, mas tenho 3 categorias diferentes que ate criei no bd, mas gostaria que se a pessoa que logasse fosse da categoria "atletica" a redirecionasse para pagina da atletica, caso ela seja comissao va para comissao e formando para formando. ajuda urgente pf!

function buscaUsuario($conexao, $email, $senha) {
    $senhaMd5 = md5($senha);
    $query = "select * from usuarios where email='{$email}' and senha='{$senhaMd5}' and categoria='formando'";
    $resultado = mysqli_query($conexao, $query);
    $usuario = mysqli_fetch_assoc($resultado);
    return $usuario;
}

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);
if($usuario == null) {
    header("Location: login.php?login=0");
} else {
    header("Location:formando.php");
}
die();
10 respostas

Ajuda pf! Ja tengo ate a ideia de criar if com as categorias que criei dentro dos usuarios mas n sei como puxar do bd p criar o codigo

Augusto, você já tem no BD. Imagino que seja na tabela usuários, certo?

Para pegar da tabela, você fez um fetch_assoc e jogou denteo da variável $usuario. Portanto, a variável $usuário é um array.

$usuario['email'] contém o email $usuario['senha'] contém a senha

Se tu criaste na tabela a coluna categoria, $usuario['categoria'] contém a categoria

se tens certeza que dentro da coluna existem apenas valores válidos: em vez de redirecionar para formando.php, redireciona para o conteúdo da coluna categoria.

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);
if($usuario == null) {
    header("Location: login.php?login=0");
} else {
    header("Location:'{$categoria}'.php");
}
die();

testa e posta aqui o resultado?

antes faz $categoria = $usuario["categoria"];

resumindo:

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);
if($usuario == null) {
    header("Location: login.php?login=0");
} else {
    $categoria = $usuario['categoria'];
    header("Location:'{$categoria}'.php");
}
die();

João coloquei umas aspas simples a mais. O código deve ficar

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);
2.if($usuario == null) {
3.    header("Location: login.php?login=0");
4.} else {
5.    $categoria = $usuario['categoria'];
6.    header("Location:{$categoria}.php");
7.}
8.die();

Que zica, não é joão é Augusto. Além disto, no último código ficou numeração de linhas, tira esta numeração, tá?

nem sei tirar haha, mas aqui, eu tenho 3 categorias diferentes , atletica, comissao e formando, e gostaria de acordo com o login se fosse da categoria tal fosse pra tal redirecionamento. vou tentar e ja respondo

como faço pra buscar no bd ql a categoria ?

tipo na verdade na minha query eu nao posso falar que a categoria e formando, o php tem q buscar no bd ql categoria e a da pessoa e redirecionar de acordo.

solução!

Augusto você já tem a query pronto.

A categoria não fica na tabela usuarios ?

$query = "select * from usuarios where email='{$email}' and senha='{$senhaMd5}' and categoria=

Na linha acima tu tás selecionando tudo da tabela usuários ; portanto, vem junto a categoria.

É só fazer como falei:

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);
if($usuario == null) {
    header("Location: login.php?login=0");
} else {
    $categoria = $usuario['categoria'];
    header("Location:{$categoria}.php");
}
die();