I usually do something like this to make the code more clear:
<?php
// Handle form submission
if( $_POST['action'] == "submit" ) {
// Process form submission
...
...
// Success message/redirect here
...
}
?>
<form action="" method="post">
// Input elements here
...
...
<input type="hidden" name="action" value="submit" />
<input type="submit" value="Submit" />
</form>
You don't necessarily have to use a hidden field -- you could add a name attribute to the submit button and check that value instead. Personally, I think it makes the code easier to understand, as complex self-submissions can get confusing rather quickly.
As for your code specifically, try changing
if ($_SERVER['REQUEST_METHOD'] != 'POST'){
to
if (!empty($_POST['Submit']) ){