Cita:
Iniciado por MaNuX0218 Por que estas comparando si el email no es correto o si la contraseña es correcta, entonces siempre te dira que no es correcto.
Cambialo de esta manera:
Código PHP:
Ver originalif($datos['email'] != $email || !password_verify($pass, $passwordDB)){
$incorrecto = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
}
Saludos.
Tiene sentido, no conocía
!password_verify
...
Pero sigue sin funcionar.
Cualquiera de las dos contraseñas me las da por incorrectas.
He probado también con:
Código PHP:
Ver originalif($datos['email'] != $email || !password_verify($pass, $passwordDB)){
$incorrecto = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
}
else /*if ($datos['email'] == $email or password_verify($pass, $passwordDB) == $passwordDB)*/
{
// Se inicia la sesión
$_SESSION['usuario'] = $datos['email'];
$_SESSION['estado'] = 'Autenticado';
$incorrecto = "Estás conectado/a como <strong>".$email."</strong> <br><br> <a href='http://www.ejemplo.com/BD/inicio'>Ir al inicio</a>";
$stm = $connection->prepare("UPDATE usuarios SET ip_ultima='$ip' WHERE email='$email' ");
$stm->execute();
};
Es decir, sacándole el
else if
de la condición, pero tampoco funciona.
No me da por válida ninguna contraseña.