Skip to content

Mengatasi Cannot Modify Header Information

Programmer PHP pasti sudah tidak asing lagi dengan warning seperti berikut.

PHP Warning:  Cannot modify header information - headers already sent by
(output started at /home/domainname/public_html/... :1)
in /home/domainname/public_html/.... .php on line 17

Beberapa minggu yang lalu, kawan saya bertanya.

Roykardo : “Bro, kalau pake CodeIgniter ada error header already sent, already sent ga bro..?.”

Saya : “ada boy :D “.

Roykardo : “wih, ada juga yaah, ngeselin banget tuh error :)) “.

Dialog singkat diatas adalah salah satu bentuk ketidaksukaan coder dengan warning Header already sent. Sebenarnya untuk mengatasi / menghindari web kita agar tidak mendapat warning seperti itu sangat mudah.

1. Pastikan tidak ada spasi dibaris pertama, sebelum tag pembuka php.

 <?php include "system/core.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 </html>

</body>
</html>
<?php ob_flush(); ?>

Kalau 3 (tiga) langkah diatas dijalankan, pasti warning-nya hilang. Kalau masih muncul lagi, silahkan tanyakan melalui komentar dibawah, kita cari solusinya sama-sama. Masalahnya saya juga belum pernah mengalami masalah header already sent yang tidak terselesaikan dengan tiga langkah diatas. :)

46 Comments

  1. ifliandry ifliandry

    dulu pernah tuh dapet masalah seperti itu …. sampe 2 hari pusing browsing cari2 jalan keluarnya … akhirnya dapet juga …

    cara penyelesaiannya seperti yg disebutkan diatas .,,

  2. NUHUN KANG/….MEMBANTU PISAN…TAHNKS A LOT

  3. Terima kasih sangat membantu sekali

  4. Dick Dick

    saya sudah melakukan ketiga cara di atas tp tetap aja error…. ada solusi lain gak

    • mungkin ada yang salah saat memasang ob_start() dan ob_flush

  5. galih galih

    tks gan…..

  6. bang, ane punya msalah sama sperti itu, uda ane coba ke 3 petunjuk abang, tapi tetep blum berhasil :(
    g bole ptus smangadh , ini smacam tantangan tuk kita smw :)

    if ($query){
    header(‘location:index.php?message=success’);
    }

    jd itu sintak sbnarnya mau nampilin kolom kosong, cuman atas e ada tulisan
    Berhasil menambah data! rencana itu kan ngelink ke halaman index.. mohon bantuanya bang

    buset ampe ga bisa makan sulit tidur gara2 eror ini hehe

    • klo di indexmu blum ada kode seperti berikut coba di index.a pasang kode ini bro

  7. Sungguh saya mengucapkan terimakasih yang tak terhingga, atas tulisan ini. Sekarang wp-admin dapat saya buka lagi…sekali lagi terimakasih.Salam kenal Gan…..!Jazakillah khoiron katsir.

  8. thanks infonya gan, akhirnya beres juga, emang ngeselin banget tuh error,

  9. hatur thank you kang, tadi udah dicoba dan akhirnya berhasil..
    tambah artiklenya yang lebih keren dan bermanfaat untuk para pelajar demi kemajuan bangsa..

  10. header header

    setelah keliling dunia, mengunjungi blog2 ngetop,
    akhirnya dapet solusinya disini,
    trims berat kang.

  11. Alhamdulillah… makasih mas,,, akhirnya masalah saya terselesaikan juga…. heee

  12. zainal zainal

    Terima kasih bang .. bisa saya coba ..sangat membantu

  13. harry harry

    thanks a lot !!!!!! gw hampir gila gara gara ini

  14. enggar enggar

    thanks ya. tulisannya sangat bermanfaat bagi saya… ^_^

  15. hans hans

    THANKS! cuman gara-gara sepasi satu aja bisa bikin program gak jalan semua… hahaha, terIMAKASIH BUAT ARTIKELNYA (y)

  16. thanks banget..sumpah lagsung coba sekali langsung berhasil..tengkyu gan tengkyu tengkyu tengkyu

  17. terimakasih ..akhirnya bisa hilang juga errornya pakai cara yang kedua.
    tetapi saya masih ada 1 error lagi.
    jika berkenan memberi solusi sangat saya harapkan

    ini errornya :

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘regis_options’ not found or invalid function name in /home/halotekn/public_html/wp-includes/plugin.php on line 406

  18. desi Manda desi Manda

    MASIH ERROR, MOHON BANTUANNYA :)
    INI SCRIPT

  19. waah makasih gan infonya. tokcerr banget :D
    nice post!!

  20. Edy Edy

    Matur nuwun bangeett…

  21. Dimas Panji Dimas Panji

    terima kasih broo sangat membantu….

  22. Makasih masbro, masalah terselesaikan. gbu

  23. Sun Sun

    ngebantu banget tutor nya :)

  24. iRusdha iRusdha

    Makasih sharingnya gan, sangat membantu :D

  25. J.K.A. J.K.A.

    Mempan, gan. Thanks! :D

  26. anon anon

    thanks , its work

  27. Blog.id-bi.com Blog.id-bi.com

    Sangat membantu sekali informasinya terimkasih sering sekali mengalamin hal seperti itu

  28. andar andar

    terima kasih pak

  29. Ini dia Ini dia

    Ini dia…. terimakasih mas… :*

  30. Andi Raharjo Andi Raharjo

    <?
    //inisialisasi database
    $host="localhost";
    $user="smpmdn_sismdn";
    $pass="lunix";
    $database="smpmdn_sismadiun";

    $title="Sistem Informasi Akademik SMPN 2 Kota Madiun";
    $kotanya="Madiun";

    //konek
    $konek=mysql_connect($host,$user,$pass) or die ("Error : $Database Encounter");
    mysql_select_db($database,$konek) or die ("Failed : $Cannot Select Database");

    $sql_global_th="SELECT * FROM tb_idthajaran WHERE id='1'";
    $detail_global_th=mysql_query($sql_global_th,$konek);
    if($data_global_th=@mysql_fetch_array($detail_global_th))
    {
    $ddthajaran=$data_global_th["idthajaran"];

    $waktu=getdate();
    for ($q=2010;$q<=$waktu['year']+2;$q++)
    if($ddthajaran==$q)
    {$tahun_global=($q-1).'/'.$q;}
    }

    $sql_password_siswa="select * from tb_infonilai";
    $sql_password_siswa.=" where id='1'";
    $batas_sql_password_siswa=mysql_query($sql_password_siswa,$konek);
    if($data_infonilai_sql_password_siswa=@mysql_fetch_array($batas_sql_password_siswa))
    {
    $aktiflistmenu=$data_infonilai_sql_password_siswa[aktif];
    }
    session_start();
    ob_start("");
    function sqlnumrows($hasil)
    {
    return @mysql_num_rows($hasil);
    }
    function doquery($query,$koneksi)
    {
    $h= @mysql_query($query,$koneksi);
    return $h;
    }

    function sqlfetcharray($hasil)
    {
    return @mysql_fetch_array($hasil);
    }

    function sqlaffectedrows($koneksi)
    {
    return @mysql_affected_rows($koneksi);
    }
    function printmesg($errmesg)
    {
    if ($errmesg!="")
    {
    echo " “.$errmesg .”“;
    }
    }
    ob_end_clean();
    ob_flush();
    ?>

    masih ada error mas bro dulu ga ada masalah knp sekarang jadi masalah
    error nya :Warning: ob_start(): function ” not found or invalid function name in /home/smpmdn/public_html/sis/koneksi.php on line 35

    Mohon pencerahannya, Terima Kasih

  31. Andi Raharjo Andi Raharjo

    error nya:
    Warning: ob_start(): function ” not found or invalid function name in /home/smpmdn/public_html/sis/koneksi.php on line 35

    sintax:
    <?
    //inisialisasi database
    $host="localhost";
    $user="smpmdn_sismdn";
    $pass="lunix";
    $database="smpmdn_sismadiun";

    $title="Sistem Informasi Akademik SMPN 2 Kota Madiun";
    $kotanya="Madiun";

    //konek
    $konek=mysql_connect($host,$user,$pass) or die ("Error : $Database Encounter");
    mysql_select_db($database,$konek) or die ("Failed : $Cannot Select Database");

    $sql_global_th="SELECT * FROM tb_idthajaran WHERE id='1'";
    $detail_global_th=mysql_query($sql_global_th,$konek);
    if($data_global_th=@mysql_fetch_array($detail_global_th))
    {
    $ddthajaran=$data_global_th["idthajaran"];

    $waktu=getdate();
    for ($q=2010;$q<=$waktu['year']+2;$q++)
    if($ddthajaran==$q)
    {$tahun_global=($q-1).'/'.$q;}
    }

    $sql_password_siswa="select * from tb_infonilai";
    $sql_password_siswa.=" where id='1'";
    $batas_sql_password_siswa=mysql_query($sql_password_siswa,$konek);
    if($data_infonilai_sql_password_siswa=@mysql_fetch_array($batas_sql_password_siswa))
    {
    $aktiflistmenu=$data_infonilai_sql_password_siswa[aktif];
    }
    session_start();
    ob_start("");
    function sqlnumrows($hasil)
    {
    return @mysql_num_rows($hasil);
    }
    function doquery($query,$koneksi)
    {
    $h= @mysql_query($query,$koneksi);
    return $h;
    }

    function sqlfetcharray($hasil)
    {
    return @mysql_fetch_array($hasil);
    }

    function sqlaffectedrows($koneksi)
    {
    return @mysql_affected_rows($koneksi);
    }
    function printmesg($errmesg)
    {
    if ($errmesg!="")
    {
    echo " “.$errmesg .”“;
    }
    }
    ob_end_clean();
    ob_flush();
    ?>

    Mohon pencerahannya Mas, sudah mumet ni, dulu ga terjadi error lho, sekarang kok jadi error, Terima Kasih

  32. gunawan gunawan

    bang Ane Mau tanya ini error kenapa ya bang? di local tu bisa jalan semua tpi pas begitu saya upload linknya saya cobak ngak bsa ngelink ke halamanya. mohon bantuanya gan

    Not Found

    The requested URL /materi/kategori/32 was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

  33. mantab juragan … gud jobs

  34. Mantan bro eh mantab bro makasih

  35. Bagiamana cara masuk ke wp adminnya, soalnya klo tidak lewat dasbor tidak bisa di perbaiki

  36. Alhamdulillah gan, cara kedua sudah daya terapkan dan sudah bisa kembali login wp admin lagi. Trims banyak Gan.

  37. Rahmat Rahmat

    Alhmadulillah masalah terselesaikan, udah sempet putus asa tadinya, untung nemu web ini, cara ke dua yang ampuh. Makasih banyak.

  38. ohito ohito

    thanks bgt bro simple tp sangat butuh

Leave a Reply

Your email address will not be published. Required fields are marked *