Проблема с кодом является то, что вы используете двойные кавычки "
вместо одинарных кавычек '
при работе с хэш.
При назначении:
$hash = "$2y$10$fXJEsC0zWAR2tDrmlJgSaecbKyiEOK9GDCRKDReYM8gH2bG2mbO4e";
Это делает PHP думаю, у вас есть переменная $2y
и еще один под названием $10
и, наконец, третья называется $fXJEsC0zWAR2tDrmlJgSaecbKyiEOK9GDCRKDReYM8gH2bG2mbO4e
. Это, очевидно, не так.
я заметил при включении отчетов об ошибках, что ошибка:
Notice: Undefined variable: fXJEsC0zWAR2tDrmlJgSaecbKyiEOK9GDCRKDReYM8gH2bG2mbO4e
был быть брошен PHP.
Заменить все ваши двойные кавычки с помощью одиночных кавычек для исправления.
например
$hash = '$2y$10$fXJEsC0zWAR2tDrmlJgSaecbKyiEOK9GDCRKDReYM8gH2bG2mbO4e';
Лакомства весь хэш как буквенная строка вместо строки со встроенными переменными.
Получаете ли вы сообщения об ошибках, уведомления или предупреждения? Каков выходной сигнал переменных, если вы их эхо отзываете напрямую? – mtaanquist
password_verify() возвращает 1 – Daniel
Возможно, ваша переменная $ hash находится в другом файле. –