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

Meu login só dá Usuário ou senha inválida

A partir do momento que troquei o FALSE pelo 0 ele dá esse erro.

__________________________________________________________________________________________________________________
(LOGIN.PHP)
if($usuario == null){
    header("Location: index.php?login=0");     //(antes o 0 era FALSE)
}else {
    header("Location: index.php?login=1");     //(antes o 1 era true)
}
die();
_________________________________________________________________________________________________________________
Meu código
(Coloquei o nome dos arquivos no começo de cada código)

(nome do arquivo) LOGIN.PHP

<?php include("conecta.php"); //Inclui o banco de dados
include ("banco-usuario.php"); //inclui o banco do usuario

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);//busca o usuário no BD
if($usuario == null){
    header("Location: index.php?login=0");//não logado
}else {
    header("Location: index.php?login=1");//logado
}
die();
?>

(nome do arquivo) INDEX.PHP

<?php include("conecta.php"); //Inclui o banco de dados
include ("banco-usuario.php"); //inclui o banco do usuario

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);//busca o usuário no BD
if($usuario == null){
    header("Location: index.php?login=0");//não logado
}else {
    header("Location: index.php?login=1");//logado
}
die();//manda o usuário para o processo

#var_dump($usuario) ; //mostra o resultado para confirmar se buscou



?>

(nome do arquivo) BANCO-USUÁRIO

<?php //realiza a conexao de BD usuario
function buscaUsuario($conexao, $email, $senha) {
    $senhaMd5 = md5($senha);//recebe a senha criptografada no md5
    $query = "select * from usuarios where email = '{$email}' and senha= '{$senhaMd5}'";
    $resultado = mysqli_query($conexao, $query);//resultado recebe conexao and query
    $usuario = mysqli_fetch_assoc($resultado);//busca o 1ºresultado
    return $usuario;
}
?>

(nome do arquivo) CONECTA.PHP

<!--Cria a conexao com o BD-->
<?php /*conecta na internet*/
#$conexao = mysqli_connect("mysqli.hostinger.com.br", "u548680052_loja", "lojaloja", "u548680052");


$conexao = mysqli_connect("localhost","root", "123456", "loja");
?>
3 respostas

Oi Robson, tudo bom?

Seu index.php deveria estar parecido com:

<?php include("cabecalho.php"); ?>

<?php if(isset($_GET["login"]) && $_GET["login"]==true) { ?>
    <p class="alert-success">Logado com sucesso!</p>
<?php } ?>

<?php if(isset($_GET["login"]) && $_GET["login"]==false) { ?>
    <p class="alert-danger">Usuário ou senha inválida!</p>
<?php } ?>

<h1>Bem vindo!</h1>

<h2>Login</h2>
<form action="login.php" method="post">
    <table class="table">
        <tr>
            <td>Email</td>
            <td><input class="form-control" type="email" name="email"></td>
        </tr>
        <tr>
            <td>Senha</td>
            <td><input class="form-control" type="password" name="senha"></td>
        </tr>
        <tr>
            <td><button class="btn btn-primary" type="submit">Login</button></td>
        </tr>
    </table>
</form>
<?php include("rodape.php"); ?>

Ao que me parece, seu login.php está igual ao index.php. Consegue confirmar pra mim? =)

Abraço

solução!

Desculpa, acho que foi o sono, estava muito cansado e já tinha passado um bom tempo revisando esse código para achar o erro.

((As crases são para escapar da formatação automática do fórum!))

Meu INDEX.php

<?php include("cabecalho.php"); ?> <!--Mapeia o login, se está correto ou não o usuário e senha--> <?php if(isset($_GET["login"]) && $_GET["login"]==true) { ?> <p class="alert-sucess"> Logado com sucesso!</p> <?php } ?> <?php if(isset($_GET["login"]) && $_GET["login"]==false) { ?> <p class="alert-danger"> Usuário ou senha inválida!</p> <?php } ?>

    ```<!--code...-->```
    ```<h1>Bem vindo!</h1>```
    ```<!--Cria Login-->```
    ```<h2>Login</h2>```
    ```<form action="login.php" method="post">```
        ```<table class="table">```
            ```<tr>```
                ```<td>Email</td>```
                ```<td><input  class="form-control" type="email" name="email" ></td>```
        ```    </tr>```
        ```    <tr>```
            ```    <td>Senha:</td>```
            ```    <td><input class="form-control" type="password" name="senha"></td>```
            ```</tr>```
            ```<tr>```
            ```    <td><button class="btn btn-primary" type="submit">Login</button></td>```
        ```    </tr>```
    ```    </table>```
```    </form>```
```    <?php include("rodape.php"); ?>```

Apertei em concluída sem querer - -' , não acho como desmarcar. Vou mandar msg pro suporte do fórum!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software