I'm setting up a login system. But I can not validate the password you entered.
When I try in this way it accuses the wrong login / password. But I already made sure, the login and password are correct:
<?php
require_once 'init.php';
// resgata dados digitados no formulario
$email = isset($_POST['email']) ? $_POST['email']: '';
$senha = isset($_POST['senha']) ? $_POST['senha']: '';
// Verifica se os campos do form nao estao vazios
if(empty($email) || empty($senha)){
echo "<script language='javascript' type='text/javascript'>alert('Infome Email e senha.');window.location.href='../login.php';</script>";
exit;
}
// Comando no banco de dados
$pdo = db_connect(); // Abre conexão com o banco
$sql = "SELECT id, nome FROM usuarios WHERE email = :email AND senha = :senha";
// Cria query
$stmt = $pdo->prepare($sql); // Prepare da query
$stmt->bindValue(':email', $email);
$stmt->bindValue(':senha', $senha);
// Atribui valor do campo email no valor email da query
$stmt->execute(); // Execute na query
$arr = $stmt->fetchAll(PDO::FETCH_ASSOC); // Cria array associativo
if(count($arr) <= 0) { // Verifica se a busca trouxe retorno
echo "<script language='javascript' type='text/javascript'>alert('Login e/ou senha inválido!');window.location.href='../login.php';</script>";
exit;
}
// Pega o primeiro usuario
$user = $arr[0];
// Inicia a sessão
session_start();
// Definir os dados persistindo entre paginas
$_SESSION['logged_in'] = true;
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_name'] = $user['nome'];
header('Location: ../index.php');
When I give var_dump($arr);
it returns an empty array, so it does not login.
Could anyone help me?
Thank you!
======= DEBUG =======
Current code: link
Email: [email protected] | Password: 123456
Right user, wrong password: Result: Accuse wrong password
Right user, right password: Result: Accuse wrong password too
Wrong user, right password: Result: Accuses user not found
Wrong user, wrong password: Result: Accuses user not found too
With correct username and password, using var_dump ($ password) and var_dump ($ arr [0] ['password'])
Nowwiththelineif(!password_verify($senha,$arr[0]['senha'])){
beforewaswithout!