Cita:
Iniciado por hhs Eso es normal por que tienes un error de lógica, estas utilizando la ontraseña que te envia el formulario para validar y esa siempre es igual. En otras palabras no estas comparando lo que te envían contra lo que tienes en la base de datos (email es el único que evaluas)
Entonces busco la contraseña en la BD...
Código PHP:
Ver original//Conecta a la BD y selecciona mail y contraseña
$consulta = "SELECT * FROM usuarios WHERE email = '$email' and password='$pass'";
$passwrd = $datos['password'];
$passwordDB = crypt($pass); if($datos['email'] == $email and password_verify($pass, $passwordDB)==$passwrd ){
// Se inicia la sesión
$_SESSION['usuario'] = $datos['email'];
$_SESSION['estado'] = 'Autenticado';
$mensaje_login = "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();
} else if ($datos['email'] != $email || $datos['email'] == "" || $pass == "" ||!password_verify($pass, $passwordDB) )
{
$mensaje_login = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
};
Pero aunque sea exactamente igual que la de la BD no me la da por válido.
Ay.