Как в цикле открывать несколько страниц с помощью header()?
Никак, Location может быть только один в ответе. Вернее, их может быть много, но используется только один - остальные браузером игнорируются.
Это можно попытаться сделать на js при помощи window.open, но браузер это дело быстро пресечет.
Покажи n фреймов