Sistema de login dá erro por se tratar de boolean e não direciona para o nível de usuario correto
26/07/2016
0
Formulário
codigo de autenticação e com direcionamento que está dando erro.
<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>
codigo de autenticação e com direcionamento que está dando erro.
<?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"); } } ?>
Elias Alves
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)