2010/3/24 Nuri AKMAN <[email protected]>:
> Merhaba Barış Bey,
>
> Bir program modülüm var. Bunu bir kaç sayfam çağırıyor ve kullanıyor. Ancak,
> bazen bu modül bağımsız olarak ajax kullanımım sırasında da çağırılabiliyor.
> Bu durumda da "headers already sent" mesajı alıyorum. Bunu engellemek için
> parametre  göndererek bir kontrol koymadan önce sizlere outputstarted() gibi
> bir hazır komut olup olmadığını sormak istediğim için bu konu açıldı.
>
> Ancak, konunun açılışından hareketle; programlamaya C, web'e de CGI'dan
> başlanmalı görüşü ile mesajımın manası değişti.
>
> Selamlar,
> Nuri Akman
>
>
Headers already sent mesaji su durmda ortaya cikar: Siz ekrana bir
seyler basmissinizdir daha sonra header komutu ile bir header
gondermek istemissinizdir. Ekrana bir sey basinca headerlar gittigi
icin sonradan gondermeye calistiginiz header gonderilemez. O yuzden bu
hata cikar. Cozmek icin Ekrana bir sey gondermeden once tum headerlari
gondermek gereklidir. Modulunuzun veya programinizin neresinde bu
olayin cereyan ettigini bulmalisiniz.
Cozmek icin soyle bir yol da denenebilir : bahsettiginiz modul
icerisinde header ('') kodlarini kaldirabilirsiniz. Bu durumda o
headerlar gonderilmez ve hata da ortaya cikmaz. Tabii bunu ancak o
headerlara ihtiyaciniz yoksa yapabilirsiniz. Aksi halde daha onceden
nerede ekrana bir seylerin yazildigini bulup onlari headerlar
gonderildikten sonra yazdirmaniz lazim.

Ya da output buffering yapabilirsiniz.
Ya da php ile ekrana yazdiracaklarinizi bir degisken icinde tutup is
bittikten sonra o degiskeni ekrana basabilirsiniz.( buna da ne
buffering desek? buffering with variables? )
....
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap