Bagi Programmer PHP pasti sudah tidak asing lagi dengan warning seperti berikut.
Cannot modify header information – headers already sent by (output started at rootxxxxxxx.php:8) in rootblablabla.php on line 30
Warning seperti ini terkadang membuat jengkel ketika kita membuat sebuah web dengan menggunakan php. terkadang jugabisa menghambat pekerjaan / logic yang lebih penting.
Seperti yang kita ketahui bersama bahwa tag header (“location : “) ; pada php berfungsi untuk mengirimkan header atau mengarahkan halaman ke halaman yang lainnya.
Pada waktu menemui kegagalan, permasalahan klasik yang terjadi adalah :
1. Terdapat output dari php sebelum tag header
echo "Selamat datang";
header('Location:http://andiattacker.com/blablabla.php');
Contoh diatas akan menggagalkan perintah header, karena ada output yang harus ditampilkan sebelum perintah header dieksekusi.
2. Permasalahan configurasi php
Coba anda cek pada php.info anda apakah buffer php aktif? jika output_buffering = 1 maka hapus angka satu dan biarkan setting menjadi none.
3. Pastikan tidak ada spasi dibaris pertama, sebelum tag pembuka php.
<?php include "system/config.php";?>
2. Kalau warning tersebut masih keluar, coba tambahkan ob_start(); dibaris paling atas
<?php ob_start();?>
3. Kalau warning tersebut masih keluar lagi, coba tambahkan ob_flush() dibaris paling bawah atau setelah tag
<?php ob_flush();?>
4. Mengedit file .htaccess dan mengisikan konfigurasi berikut :PHP_FLAG output_buffering on
lalu file .htaccess di upload lagi, coba lihat apa yang terjadi,..fungsi header pada script php anda sudah succeess
Terimakasih gan, Point no 4 menggunakan htaccess work..
BalasHapuspermisi kakak, cara mengedit file .htaccess caranya sprti apa kak? terimakasih kak :)
Hapusmantap, work yg no 4, thanks gan
BalasHapusSuwon suwon
BalasHapusSempet berhasil yg no.4, tp gkbs lagi. Cmn kaya reload gitu aja. Ad solusi?
BalasHapus