Here's some info your book may not be telling you (or you just haven't read it yet):
1.) The "action" of the form is actually where the contents of the user input information is sent to. The "method" defines how it will be sent ($GET = URL / address-bar, $POST = HTML Headers).
2.) The php file isn't really executed, it's more of interpreted. But yes, when the submit button is clicked, the form is submitted to "processform.php" which does whatever it needs.
3.) The brand new page you speak of is actually the file "processform.php". In this file, you can manipulate the posted data as you please, and display what you want.
4.) Echoing the information in the post is as easy as taking each form element (Inputs, selects, checkboxes, radio buttons, etc.) and taking the value of the "name" attribute, and echoing that value in the $POST array where the "name" attribute is the $POST array key. An example to help illustrate:
<?php /* Just to help with the Color Parser.
The following would be in an HTML file: */ ?>
<form action="processform.php" method="post">
Something Witty: <input type="text" name="mytextbox"><br>
Choose a Number: <select name="number"><option>1</option><option>2</option><option>3</option></select><br>
Multiply These Two Numbers:<br>
<input type="text" name="mult1"> * <input type="text" name="mult2"><br>
<input type="submit" value="Submit" name="Submit">
</form>
<!-- And the following would be the processform.php page: -->
<?php
// All our "post"-ed information is held in the super-global $_POST array
// Let's tell them what they entered:
echo 'For something witty you entered:<br>' . $_POST['mytextbox'] . '<br><br>';
echo 'You chose the number ' . $_POST['number'];
// Let's multiply the two numbers:
// Did they enter numbers, or did they enter letters?
if(is_numeric($_POST['mult1']) && is_numeric($_POST['mult2']))
$mult = $_POST['mult1'] * $_POST['mult2'];
else
$mult = 'You didn\'t enter two numbers. Shame on you :(';
// Let them know the result:
echo $mult;
?>
5.) I covered multiplying in #4 😉
When getting data, you don't have to do anyting. It's automatically available to you. You can access the $POST, $GET, $REQUEST, $SESSION, $COOKIE, $SERVER arrays any time you want. The first three (POST, GET, REQUEST) deal with forms. POST will only be populated when the method of the form is "post", and the same with get (the form method must be "get"). The REQUEST array is filled with all GET and POST values. It's not typically a good idea to use $_REQUEST as you are vulnerable to attacks, so it's best to be explicit about things.
The SESSION and COOKIE arrays are only available when either a session is started (which you'll learn about later) or a COOKIE has been set for that domain. I'm sure you'll learn about that later, but just wanted to make you aware.
The SERVER array is almost always populated and has information containing requests and user information (like language, browser version, page request, URL requested, query string (if any), domain, server type, etc.).
All of these arrays are covered in the PHP manual over at www.php.net
Also, I know you're readind a book about it, but typically, if you aren't actually going to parse anything in PHP (like echoing variables, doing computation, starting sessions and such) then you probably should not just echo the straight HTML as you have. If your book tells you to, that's fine, but just keep it in mind that if you are going to echo straight HTML, either drop out of PHP, or use the HEREDOC syntax (google it). It will help reduce the load on your server, and possibly speed up your application / webpage.
EDIT
@
There's an edit button for a reason....