Assume that you have two pages: input.html and process.php. Input has a web form. Process does whatever you want with the data (email, write to database, etc). If input.html posts to process.php, then process.php has access to the data in RAM. It's not difficult or hard for the server to work with that data.
If you want the data to appear in a form on the second page just the way it appeared in a form on the first page, you can simply PRINT the value of the variable into a web form on the second page. For example, input.html might have this field: <input type=text name=city> and then on process.php you might want a form to appear with the city prepopulated. It's not wasteful to simply write:
<input type=text name=city value="<? echo $_COOKIE['city']; ?>">
You're not "reloading" it from a database on the hard drive or re-obtaining it from the customer or anything like that.
You can make a page submit to itself without reloading by using Ajax. Basically, as you fill in the form and click submit, you have a Javascript that takes over before the page reloads. The Javascript reads the values of the Form Fields and uploads them to the server where you can do whatever you want with them (write them to a database or send in an email, for example). Since the Javascript uploads the data, the page never reloads.