No.. non è esattamente così..

l'header non funziona se prima è stato inviato qualche altro output alla pagina, cioè se è stata stampata qualche variabile, od anche se, caso non raro, si è lasciato qualche spazio vuoto all'inizio della pagina PHP.

Se tu scrivi il codice che processa i dati e basta (queries.. assegnazione variabili e chi più ne ha più ne metta), ed alla fine ci metti la funzione header(), avendo avuto cura di non mandare altri output prima, funzionerà benissimo. Se invece prevedi di dover visualizzare, ad esempio, qualche messaggio, il discorso cambia, e ti consiglio di utilizzare il metacomando