Разве сложно это понять - запрос самой страницы (GET), это "просьба" серверу получить ее. А на POST запрос клиент хочет получить ответом только "решение" сервера по данному запросу, вся страница ему не нужна, она ведь уже у клиента. Следовательно структура кода страницы должна быть таковой:
<?
//php код проверяющий, что пришел POST запрос
//если пришел, то выполняем что-то и отвечаем клиенту
//после чего ОБЯЗАТЕЛЬНО делаем выход:
exit;
//иначе после выполнения этого кода будет продолжен вывод в браузер всего,
//что расположено ниже этого кода, то есть, начиная с первого html тега и до конца
?>
<!DOCTYPE html>
<html>
.....
</html>