OK, back to square one ... what is the real problem?
In your first post, you said that "1.php" did not display anything.
In your next post, you said that "2.php does not display what I expect", which makes me assume that "1.php" does do as you expect?
Knowing the real problem helps with the real answer 😉
In simply thinking about the issue, a few general thoughts:
a. "1.php" is pure HTML. Does it work as you expect if it's named "1.html" instead of "1.php" ?
b. Take a look at the "Debugging 101" thread (IIRC, it's a "sticky" post in the "Echo Lounge" forum). Among the many ideas there that might help: using [man]print_r/man or [man]var_dump/man to inspect the contents of superglobal arrays, e.g. :
2:php
<?php
// debug only, remove these lines for production...
print_r($_GET);
exit();
// the rest of our script
echo "Welcome to our Web site, {$_GET['firstname']} {$_GET['lastname']}!!";
?>
c. Is anything appearing in your server logs? In a production environment, PHP generally prints error messages to the log instead of the browser ...
HTH,