Cevaplar
-
sayfanın başına
ob_start();
bittiği yere deob_end_flush();
koy. Eğer tekrar hata alırsan ve include ile başka sayfa ekliyorsan o sayfaları da baz alarak bak, yani toplamda birden fazla olmasın. -
Problemin kaynağı sayfaya herhangi bir çıktı verildikten sonra header(...); kullanmak. Eğer sayfanın başında kullanmanıza rağmen bu hatayı alıyorsanız dosyanızı "UTF-8 without BOM" olarak kaydedin. Notepad++ gibi editörlerde standart olarak mevcut bir özellik.
header sayfanın başında değilse ob_start(); ve ob_end_flush(); arasında kalanlar ob_end_flush'ı görene kadar basılmayacağından çözüm olabilir. fakat pek hoş bir yol olduğunu düşünmüyorum. ben sayfa ortasında yönlendirmeler için şöyle bir fonksiyon kullanıyorum;
function git($url) { echo '<meta http-equiv="refresh" content="0;url='.$url.'">'; exit; }
git('index.php'); gibi. sayfa yönlendirmeyi yaptığın yere kadar tekrar çalışır ama hemen hemen aynı işi görüyor. -
header("Location: xxx.php") ile yönlendirme yapıyorum. header satırından önce include işlemi var. ondan vazgeçmem mümkün değil. Ne yaptıysam olmadı. Herkese çok teşekkür ederim.