fait moi une authentification avec php et une database sql, l'utilisateur doit aussi pouvoir changer son mot de passe et pouvoir récupérer son mot de passe.
function authenticate($username, $password) { // validation if (!is_string($username) || strlen($username) < 2) { return false; } if (!is_string($password) || strlen($password) < 32) { return false; } // verify username exist $query = $pdo->prepare("SELECT username FROM users WHERE username = :username"); $query->execute([ "username" => $username ]); $user = $query->fetch(); if (!$user) { return false; } // verify password $query = $pdo->prepare("SELECT password FROM users WHERE username = :username"); $query->execute([ "username" => $username ]); $passwordHash = $query->fetch(); if (!password_verify($password, $passwordHash)) { return false; } return true; } function changePassword($username, $