у меня станачала выводит часть страницы на экран, а потом происходит проверка, в результате которой может произойти перенаправление с помощью header(). Я не могу сначала сделать проверку перед выводом текста.
Можете. Процесс "роста" программиста проходит через стадию "ааа, так вот зачем отделять логику от представления!.." и в вашем случае время настало.
Даже в процедурном стиле достаточно просто заранее, в начале кода, получить в какие-то переменные нужные данные, а за тем уже вывести их в нужных местах в хтмл.