Tanto per cominciare, potresti avere l'output buffering abilitato, il che eliminerebbe il problema del warning sull'header.
Poi c'è un altro punto: se tu chiami la pagina passandole un parametro in GET, il test che hai messo risulta vero, quindi non esegue l'istruzione header(). Invece di inventare cose cervellotiche perché non fai semplicemente un redirect a un'altra pagina?