Ver Mensaje Individual
  #15 (permalink)  
Antiguo 23/03/2015, 09:10
Avatar de NueveReinas
NueveReinas
 
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 8 meses
Puntos: 145
Exclamación Respuesta: Problema al comparar contraseñas con crypt()

Cita:
Iniciado por MaNuX0218 Ver Mensaje
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 original
  1. if($datos['email'] != $email || !password_verify($pass, $passwordDB)){
  2. $incorrecto = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
  3. }

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 original
  1. if($datos['email'] != $email || !password_verify($pass, $passwordDB)){
  2. $incorrecto = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
  3. }
  4. else /*if ($datos['email'] == $email or password_verify($pass, $passwordDB) == $passwordDB)*/
  5. {
  6. // Se inicia la sesión
  7.     $_SESSION['usuario'] = $datos['email'];
  8.     $_SESSION['estado'] = 'Autenticado';
  9.     $incorrecto = "Estás conectado/a como <strong>".$email."</strong> <br><br> <a href='http://www.ejemplo.com/BD/inicio'>Ir al inicio</a>";
  10.     $stm = $connection->prepare("UPDATE usuarios SET ip_ultima='$ip' WHERE email='$email' ");
  11.     $stm->execute();
  12. };

Es decir, sacándole el else if de la condición, pero tampoco funciona.
No me da por válida ninguna contraseña.

__________________
¿Te sirvió la respuesta? Deja un +1