How can PHP echo statements behave differently when directly accessing a PHP file versus accessing it through an HTML form?

When directly accessing a PHP file, the echo statements will be executed immediately upon loading the file. However, when accessing the PHP file through an HTML form submission, the echo statements may not be visible as the output is sent back to the browser in the response. To ensure that the echo statements are displayed when accessing the PHP file through an HTML form, you can store the echoed content in a variable and then print it out after the form submission.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $message = "Hello, " . $_POST['name'] . "! Welcome!";
    echo $message;
}
?>

<!DOCTYPE html>
<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="name">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    echo $message;
}
?>

</body>
</html>