Kali 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.
Search
Minggu, 13 Oktober 2013
Langganan:
Postingan (Atom)