What are the potential pitfalls of sending output to the browser before calling session_start() or header() in PHP?

Sending output to the browser before calling session_start() or header() in PHP can lead to "headers already sent" errors, as headers must be sent before any output is sent to the browser. To solve this issue, make sure to call session_start() or header() before any output is generated, such as HTML, whitespace, or even error messages.

<?php
// Correct way to start a session and set headers before any output
session_start();
header('Content-Type: text/html');

// Output can be sent to the browser after session_start() and header() have been called
echo "Hello, World!";
?>