проблемы password_verify
Никак не могу добиться, чтоб функция вернула true,проверил все вводы в базу данных, хэши совпадают, при выгрузке из базы данных он тоже правильный
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$password = $_POST['password'];
echo "$password";
// Подключение к базе данных
include 'connect.php';
// Подготовленный запрос к базе данных
$sql = "SELECT * FROM admin WHERE name = ?";
$stmt = $conn->prepare($sql);
// Проверка на успешность подготовленного запроса
if ($stmt) {
// Привязка параметров к запросу
$stmt->bind_param("s", $name);
// Выполнение запроса
$stmt->execute();
// Получение результата
$result = $stmt->get_result();
// Проверка на успешность выполнения запроса и наличие результатов
if ($result && $result->num_rows > 0) {
$row = $result->fetch_assoc();
// Проверяем соответствие пароля
if (password_verify($password, $row['password_hash'])) {
header("Location: dashboard.php");
exit();
} else {
// Если пароль не соответствует, выводим сообщение об ошибке
echo "Неверный пароль";
}
} else {
echo "Пользователь с именем $name не найден";
}
$stmt->close();
} else {
echo "Ошибка при подготовке запроса: " . $conn->error;
}
$conn->close();
}
?>
вот код для записи в БД
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
// Хэширование пароля
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
echo "$hashed_password";
// Подготавливаем SQL запрос для добавления нового администратора в базу данных
$sql = "INSERT INTO admin (name, password_hash) VALUES (?, ?)";
// Подготавливаем запрос
$stmt = $conn->prepare($sql);
// Привязываем параметры
$stmt->bind_param("ss", $username, $hashed_password);