Estou tendo esse erro no meu código e não consigo resolver, alguem pode me ajudar?
Erro fatal : TypeError não capturado: password_verify(): Argumento #1 ($password) deve ser do tipo string, null fornecido em C:\Users\Gabriel\Desktop\aluraplay\src\Controller\LoginController.php:29 Rastreamento de pilha: # 0 C:\Users\Gabriel\Desktop\aluraplay\src\Controller\LoginController.php(29): password_verify(Object(SensitiveParameterValue), '') #1 C:\Users\Gabriel\Desktop\aluraplay\public\index. php(36): Alura\Mvc\Controller\LoginController->processaRequisicao() #2 {main} jogado em C:\Users\Gabriel\Desktop\aluraplay\src\Controller\LoginController.php na linha 29
<?php
declare(strict_types=1);
namespace Alura\Mvc\Controller;
use PDO;
class LoginController implements Controller
{
private PDO $pdo;
public function __construct()
{
$dbPath = __DIR__ . '/../../banco.sqlite';
$this->pdo = new PDO("sqlite:$dbPath");
}
public function processaRequisicao(): void
{
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
$password = filter_input(INPUT_POST, 'password');
$sql = 'SELECT * FROM users WHERE email = ?';
$stmt = $this->pdo->prepare($sql);
$stmt->bindValue(1, $email);
$stmt->execute();
$userData = $stmt->fetch(PDO::FETCH_ASSOC);
$correctPassword = password_verify($password, $userData['password'] ?? '');
if ($correctPassword) {
header('Location: /');
} else {
header('Location: /login?sucesso=0');
}
}
}