Search

Minggu, 13 Oktober 2013

Pesan Error Headers Already Sent by (Output Started At blablabla

Pesan Error Headers Already Sent by (Output Started At blablablaKali ini ane posting tentang pesan error yang ane dapat ketika menggunakan pemrograman php. berikut pesan errornya :
"cannot modify header information – headers already sent by (output started at blablabla" 

pesan error seperti itu sering kali terjadi dalam pemrograman php, di karenakan hal berikut :
Ada dua elemen program ‘header’ dalam satu halaman yang diload oleh web browser anda. Misal:
<?php
.
.
.
.
.
if($a){
header(“Location:satu.php”);
}
.
.
?>


ataupun ketika kita menggunakan koding seperti berikut : 

     redirect();  


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.