Merhaba arkadaşlar,
Aşağıdaki hatayı eminim birçoğumuz vakti zamanında yaşamıştır. Eğer sayfanızda ekrana bir çıktı verdikten sonra header fonksiyonunu kullanıyorsanız bu hatayı alırsınız.
1 2 3 4 |
<?php echo "İçerik"; header("Location: index.php) ?> |
Yukarıdaki örneği çalıştırdığınızda bu hatayı alacaksınız:
Warning: Cannot modify header information – headers already sent by (output started at /dizin/isim/public_html/dosya.php:123) in /dizin/isim/public_html/sistem/oturumlar.php on line 456
Bunun çözümü kısa ve basittir. Kullandığınız sayfanın en üstüne ob_start();
ve en altına da ob_flush();
ekleyin.
1 2 3 4 5 6 |
<?php ob_start(); echo "İçerik"; header("Location: index") ob_flush(); ?> |
Fakat benim yegane tavsiyem ekran çıktılarınızı header’lardan sonra kullanmanızdır. Yani formatınızı şu şekilde güncellemeniz yönünde olacaktır:
1 2 3 4 5 |
<?php $icerik = "İçerik"; header("Location: index.php"); echo $icerik; ?> |
Anlaşılır oldu fakat anlaşılmayan yerleri yorum olarak sorunuz lütfen.
Kolay gelsin,
Yorumlar