Sessions is the way to go. Save the current state of the user in a session (don't send it to him) and based upon the state allow him to see the next page (which of course you are dynamically producing, so there is no *real* file to link to). The URL will remain the same, but the value of the state variable will allow you to differentiate.
CountZero
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law