StackOverflow довольно тяжёлый AJAX, поэтому вы видите поведение, которое видите.
Если вы не хотите получать все AJAXy, вам нужны перенаправления. Перенаправления такого рода должны быть прозрачными для пользователя:
if (! empty($_POST)){
// Do something with the contents of $_POST
header('Location: success.php');
}
Теперь, если ваша проверка не пройдена, вы, вероятно, перезагрузите форму с некоторыми сообщениями об ошибках, и, нажав F5, повторно отправит данные. Но если операция прошла успешно, пользователь будет перенаправлен на вашу страницу успеха, и он может весь день забивать f5 без повторного размещения данных и потенциального создания дублирующих действий.