Search code examples
phphashauthenticationpassword-hash

i try to login with hash password but password isn't equal


error don't equal password when login with hash password

i try this code for hash and sign up ... then when i want to login password_hash() create another hash password

 function addUser($gmail, $password){
    $connection = mysqli_connect(DataBaseManager::HOST, 
    DataBaseManager::USER, DataBaseManager::PASSWORD, 
    DataBaseManager::DATABASENAME);

    mysqli_set_charset($connection, "utf8");

    $sqlQuery = "SELECT * FROM users WHERE gmail='$gmail'";

    $result = mysqli_query($connection, $sqlQuery);
    $hashed = password_hash($password, PASSWORD_DEFAULT);
    if(mysqli_num_rows($result) > 0)
    {
       return false;
    }
    else{
         $sqlCommand = "INSERT INTO users(gmail , password ) VALUES('$gmail', '$hashed')";
        if (mysqli_query($connection, $sqlCommand)) {
            return true;
        } else {
            return false;
        }
    }


}


function getUser($gmail , $password){
       $connection = mysqli_connect(DataBaseManager::HOST,DataBaseManager::USER,DataBaseManager::PASSWORD, DataBaseManager::DATABASENAME);
       mysqli_set_charset($connection, "utf8");
        $hashed = password_hash($password, PASSWORD_DEFAULT);
        $sqlQuery = "SELECT * FROM users WHERE gmail='$gmail' AND password = '$hashed'";
        var_dump($sqlQuery);
        $result = $connection->query($sqlQuery);
        if ($result->num_rows > 0) {
            return true;
        }else{
            return false;
        }

    }

Solution

  • password_verify is used for validating.