Pesan ERROR “cannot modify header information – headers already sent by”

Bagi yang senang dengan PHP programming tentu sering mendapatkan pesan error seperti ini:
cannot modify header information – headers already sent by (output started at /var/www/blablabla.php:26

Apa sih sebabnya?
Penyebabnya adalah, ada dua elemen program ‘header’ dalam satu halaman yang diload oleh web browser anda. Misal:
<?php
.
.
.
.
.
if($a){
header(“Location:satu.php”);
}
.
.
?>

dan ketika dijalankan muncul hal tersebut:
cannot modify header information – headers already sent by (output started at /var/www/blablabla.php:26

Solusinya cukup mudah, yang pertama adalah agak rumit:
Hilangkan semua spasi pindah baris,
Atau:buatlah dalam awal halaman utama yang meload dengan perintah:
<?php
ob_start();
.
.
.
.
.
.
?>


Mengapa?
Karena dengan ob_start() atau output buffer start, jika dibuka, maka PHP akan membuka buffer untuk menyimpan sementara dalam memori. Maka jika idealnya header dalam sebuah halaman seharusnya hanya satu, dan karena kita tidak tahu apa yang akan men-generate header, maka akan sangat lebih aman jika untuk kasus ini diberikan ob_start(); pada awalnya.

sumber
Previous
Next Post »
Thanks for your comment