Array
(
)

Sistema de login dá erro por se tratar de boolean e não direciona para o nível de usuario correto

PHP
Elias Alves
   - 26 jul 2016

Formulário
#Código
<form class="form-horizontal"method="post" action="controller/autentica.php">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Login</label>
<div class="col-xs-4">
<input type="text" class="form-control"name="login" value="" id="inputEmail3" placeholder="Login" required autofocus="true" autocomplete="off">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Senha</label>
<div class="col-xs-4">
<input type="password" class="form-control" name="senha" value=""id="inputPassword3" placeholder="Senha" required autofocus="true" autocomplete="off">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> Ficar conectado
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button value="btn-login"type="submit" class="btn btn-primary">Entrar</button>
</div>
</div>
</form>
Citação:

Citação:

Citação:

Citação:


codigo de autenticação e com direcionamento que está dando erro.
#Código
<?php
if (isset($_POST['login'])){
//obtendo os valores do formulario e colocando addslashes
$login = $_POST["login"];
}if(isset($_POST['senha'])){
$senha = $_POST["senha"];
}

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['login']) OR empty($_POST['senha']))) {
header("Location: ../index.php"); exit;
}else{
// as próximas 3 linhas são responsáveis em se conectar com o bando de dados.
// A vriavel $result pega as varias $login e $senha, faz uma pesquisa na tabela de usuarios
$resultado = mysql_query("Select * from usuario where login='$login' and senha ='$senha'");
$querry = $resultado;
}
/* Logo abaixo temos um bloco com if e else, verificando se a variável $result foi bem sucedida, ou seja se ela estiver encontrado algum registro idêntico o seu valor será igual a 1, se não, se não tiver registros seu valor será 0. Dependendo do resultado ele redirecionará para a pagina site.php ou retornara para a pagina do formulário inicial para que se possa tentar novamente realizar o login */
if(mysql_num_rows ($querry) == 0)
{
echo"<script>alert('Senha ou email não correspodem.');</script>";
echo"<META HTTP-EQUIV=REFRESH CONTENT=0;url=../index.php>";
}else{
$consulta = mysql_query("Select * from usuario where login='$login'");
$nivel = mysql_result($consulta,0,'nivel');
$login = mysql_result($consulta,0,'login');
$senha = mysql_result($consulta,0,'senha');

session_start();
$_SESSION['id_usuario']=$id_usuario;
$_SESSION['login']=$login;
$_SESSION['senha']=$senha;
$_SESSION['nivel']=$nivel;
if($nivel == 1){
echo"<script>alert('Master.');</script>";
echo"<META HTTP-EQUIV=REFRESH CONTENT=0;url=../index.php>";
header("Location:../view/lista_users.php");
}elseif ($nivel == 2) {
echo"<script>alert('Admin.');</script>";
header("Location:../list_fabricante.php");
}else{
echo"<script>alert('Operador.');</script>";
echo"<META HTTP-EQUIV=REFRESH CONTENT=0;url=../index.php>";
header("Location:../lista_aparelhos.php");
}
}
?>