prepare('SELECT id, username FROM users WHERE email = :email'); $stmt->execute(['email' => $email]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { $token = createTicket((int) $user['id'], 'password_reset'); $appUrl = rtrim(getenv('APP_URL') ?: 'https://ourapp.local', '/'); $resetLink = $appUrl . '/reset-password.php?token=' . urlencode($token); sendPasswordResetEmail($email, $user['username'], $resetLink); } // Always show the same success state, whether or not the email matched an account, // so this page can't be used to check which emails are registered. $submitted = true; } } $pageTitle = 'Forgot Password'; ?>

Check your inbox

If an account exists for , we've sent instructions to reset your password. The link expires in 20 minutes.

Back to log in

Forgot your password?

Enter your email and we'll send you a link to reset it.

Remembered it? Log in