Have you ever wanted to add a CYOA (choose your own adventure) game to your site? Maybe you wanted to make a quiz or some sort of branching dialogue? Well, this will help you do that. Here's how it looks in action:

Spoiler: gif image

The dialogue doesn't match up, it's a test after all x3
The second button doesn't lead to anything, so clicking on it does nothing.

-Pros-

No refresh abuse! If a user refreshes the page, it resets from the beginning. If a user presses the back button, it goes back to the previous page rather than the previous choice. No more cheating for multiple prizes!

No Javascript (does this count as a pro?)

Contained in a single function/page!

-Cons-

Keeping track of which choices lead to what can get confusing after a while. Be sure to leave plenty of comments for yourself so you don't get lost!

-The Process-
How this basically works is using multiple forms and buttons to link to each other and show different content depending on what choice you pick. For example...

Doesn't that look nice and simple? Let's break it down piece-by-piece.
"choice handling" is where all of the following choices and such go. It always goes above "adventure start"! If you want to have a choice lead to yet another branch, then simply add a form within one of the statements. So...

Even though the choice handling always goes above the start, the order of the choices doesn't matter as far as I know. Just go with whatever order works best for you!
Since this purely uses PHP, you are free to use conditions, use database info, use variables, etc. For example, what if the user could only do this once a day? You could make a column in the database that holds whether or not the user has been on this adventure already. In whatever choice counts as a "dead end", update the database. That way, the user will be unable to do it again if they refresh or leave and return.