What TheDefender mentioned about not being able to rely on $POST['submit'] is correct. You should instead rely on a "hidden field" type of value (again, as he said because he's a smart gentleman). To add my 2 cents to this thread, even if you had not known that, how about some old school troublehshooting with the tried and true 'echo' or 'print' statement:
<?php
echo "<li />@ line ".__LINE__." of file ".__FILE__.": before checking for isset(POST[submit])";
if (isset($_POST['submit'])) {
// if we are in here, say something:
exit("<li />Successfully inside of form processing @ line ".__LINE__." of file ".__FILE__);
// rest of code follows
?>
If you see that first echo statement, then you know that you can at least "see" something. If you don't, then you have a "read" permissions issue on your web server. If you dont' see that "exit" line, then you know you aren't even entering the form handling block. You wouldn't have known about the "hidden field" suggestion from TheDefender, but at least you'd have known that you weren't even entering the form handling block.
Lastly, depending on which browser you're using, the isset($_POST['submit']) might not be an issue in that browser, so go back to the 'echo' statements to indicate where you in the logic.