On further reflection, it seems to me as though you really could do this with all submit buttons and a bunch of conditional tests. It would load the page with every button press and it would be very slow and annoying, but it could technically be done the way you are asking about.
Really, what you're limited by here is the HTML form, not the PHP. But really, HTML was not meant to be dynamic on its own anyway. Your problem lies on the client-side and no amount of server-side-only solution can fix the problem entirely.