My processing follows Sxooter's approach. Although after I've fiddled with if statements and switches, I found this snippet of code works great for add/edit/delete dispatching:
$function = '';
if(isset($_GET['Action']))
$function = 'Do_' . $_GET['Action'];
if(function_exists($function))
$function($_POST, $_GET);
else
Do_Default($_POST, $_GET);
What happens is you clear out the variable called function. You check for a URL parameter called "Action" (you could make yours be whatever you like). For "Action", I set it to whatever major thing I need my script to do. Such as add, edit, delete, etc. So I might have Action=Add or Action=Edit.
As you see, if someone fiddles with my Action parameter, if the function doesn't exist, it just boots them back to my default function which is called "Do_Default()" (again, you can rename to suit your needs).
Now when you wish to add functionality, you just figure out what you want your Action= to be, then you setup a function called "Do" and the name of the Action you just created - in this example, I pass along POST and GET data so all my functions are something like "Do[action]($post, $get)". This allows you to add functionality to your script without having to tweak the dispatcher code (such as using if or switch statements).
Of course, this comes at a small price. You have to validate your data. For add, edit, and delete, your have to make sure the data coming in makes sense for that function (which in theory, you should be doing anyways).
I put this snippet of code almost at the top of my index page. I'll wrap my header and footer functions around it. Although in some cases, I'll put the header/footer function calls from within the "Do_" function depending on how many unique header/footer situations I have.
This is just one way (of many many ways) to do it. I prefer checking for an "action" parameter to ensure if you're doing an edit, an edit actually gets performed and I can do the necessary checks for an edit action (versus just testing if the form submitted was a GET or POST).