Ver Mensaje Individual
  #40 (permalink)  
Antiguo 23/03/2015, 15:01
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
Busqueda Respuesta: Problema al comparar contraseñas con crypt()

Solucionado. Al final el problema era totalmente de la consulta.

Cuando esta era:

Código PHP:
Ver original
  1. $consulta = "SELECT * FROM usuarios WHERE email = '$email' and password = '$pass' ";

Tiene que ser:

Código PHP:
Ver original
  1. $consulta = "SELECT * FROM usuarios WHERE email = '$email' and password = password ";

Entonces...

Código PHP:
Ver original
  1. //Obtengo los datos del formulario
  2. $email = $_POST["user"];
  3. $pass = $_POST["pass"];
  4.  
  5. //Conecta a la BD y selecciona mail y contraseña
  6. $consulta = "SELECT * FROM usuarios WHERE email = '$email' and password = password ";
  7.  
  8. $resultado = mysqli_query($connection, $consulta) or die(mysql_error());
  9. $datos = mysqli_fetch_array($resultado);
  10.  
  11. $passwrd = $datos['password'];
  12.  
  13. $passwordDB = crypt($pass);
  14.  
  15. $hola = "";
  16.  
  17. if($datos['email'] == $email and password_verify($pass, $passwrd)){
  18. // Se inicia la sesión
  19.     $_SESSION['usuario'] = $datos['email'];
  20.     $_SESSION['estado'] = 'Autenticado';
  21.     $mensaje_login = "Estás conectado/a como <strong>".$email."</strong> <br><br> <a href='http://www.ejemplo.com/BD/inicio'>Ir al inicio</a>";
  22.     $stm = $connection->prepare("UPDATE usuarios SET ip_ultima='$ip' WHERE email='$email' ");
  23.     $stm->execute();
  24. } else if ( $datos['email'] != $email || $datos['email'] == "" || $pass == "" ||!password_verify($pass, $passwrd) )
  25. {
  26.     $mensaje_login = "El mail o la contraseña son incorrectos. <br> <a href='javascript:history.back()'>Volver y corregir</a>";
  27. };

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