Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - lauro

#1
PHP / Problemas con Password_Verify
7 Mayo 2021, 18:11 PM
Hola buenas !! tengo problemas con password_verify no encuentro cula es el problema
si alguen me puede ayudar. Gracias

no Compara bien el password que viene de la base de datos con la variable que viene del $_POST['password'].

En la base de datos ya puse varchar 255 caracteres

salta el Buble if pass_verify y dice que las contrseña no coincide

Código (php) [Seleccionar]
<?php
// Inicializando la Session 
session_start();
if(isset(
$_SESSION['usuarios']) && $_SESSION['usuarios'] === true)
{
    
header("location: Roles.php");
    exit;
}
include 
"conexion.php";

$usuario $password "";
$usuario_err $password_err "";

if(
$_SERVER["REQUEST_METHOD"] === "POST")
{
    if(empty(
trim($_POST['usuario'])))
    {
        
$usuario_err "Ingrese un Usuario";
    }else
        {
            
$usuario trim($_POST['usuario']);
        }

    if(empty(
trim($_POST['password'])))
    {
        
$password_err "Ingrese un password";
    }else
        {
            
$password trim($_POST['password']);
        }


    
// Validar credenciales

    
if(empty($usuario_err) && empty($password_err))
    {
        
$sql "SELECT login_id, login_usuario, login_password FROM login WHERE login_usuario = ?";

        if(
$stmt mysqli_prepare($con$sql))
        {
            
mysqli_stmt_bind_param($stmt"s"$param_usuario);
           
                
$param_usuario $usuario 

                if(
mysqli_stmt_execute($stmt))
                {
                    
mysqli_stmt_store_result($stmt);

                    if(
mysqli_stmt_num_rows($stmt) == 1)
                    {
                        
mysqli_stmt_bind_result($stmt$id$usuario$password1);
                        
                        if(
mysqli_stmt_fetch($stmt))
                        {
                            
$pass_verify password_verify($password$password1);
                                echo 
"pass es: ".$password;

                                echo 
"<br>";

                                echo 
"pass_hashed es: ".$password1;
                            if(
$pass_verify === true)
                            {
                                
session_start();

                                
//variables de session

                                
$_SESSION['usuarios'] = true;
                                
$_SESSION['id'] = $id;
                                
$_SESSION['usuario'] = $usuario;
                                
                               
header('location: Roles/usuario_nuevo.php');

                            }else
                                {
                                   
$password_err "La Contraseña es Incorrecta";
                                }
                        }
                    }else
                        {
                            
$usuario_err "Nombre de Usuario no Registrado";
                        }

                }

                    
        }
    }
       
}


esta el la otra parte del codifo donde cifra la contrseña y la la guarda en la base de datos



Código (php) [Seleccionar]
if(empty($usuario_err) && empty($correo_err) && empty($password) && empty($password2))
   {
        $password1 = password_hash ($password, PASSWORD_DEFAULT);

       $sql = "INSERT INTO login (login_usuario, login_correo, login_password) VALUES ('$usuario', '$correo', '$password1')";
       
       $ejec = mysqli_query($con,$sql);

           if($ejec)
           {
              header('Location: Inicio Sesion.php');
           }
   
   }
 
}