What is the potential issue with sending HTML output before processing PHP code in a contact form?

Sending HTML output before processing PHP code in a contact form can cause headers to be already sent to the browser, which can result in errors such as "Headers already sent" or prevent further PHP code execution. To solve this issue, make sure to process any PHP code before sending any HTML output to the browser.

<?php
// Process form data before sending any HTML output
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Process form data here
    // For example, send an email
    // Redirect to a thank you page
    header("Location: thank-you.php");
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Contact Form</title>
</head>
<body>
    <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
        <!-- Form fields here -->
        <button type="submit">Submit</button>
    </form>
</body>
</html>