If you want to use one long page, I'm thinking you could do this:
1) session start, registers variable for hash
2) Page checks for hash var not being empty (created later, below)
3a) If hash is not empty, go to 4
3b) If hash IS empty, but there is a username and password var present, create a hash (remember this is a registered var with the session) and go to step 4
3c) If hash is empty and there is no user, and password, do the login/pass thing; user submits form; go back to step 1
4) Display the recipe for the secret sauce