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 hubungi saya melalui YM, kita cari solusinya sama-sama. Masalahnya saya juga belum pernah mengalami masalah header already sent yang tidak terselesaikan dengan tiga langkah diatas. :)

Recommended Posts
Showing 37 comments
  • ifliandry
    Reply

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

    cara penyelesaiannya seperti yg disebutkan diatas .,,

  • dian susanto
    Reply

    thanks a lot ya.., sangat membantu

  • ridwan
    Reply

    NUHUN KANG/….MEMBANTU PISAN…TAHNKS A LOT

  • argy
    Reply

    Terima kasih sangat membantu sekali

  • Dick
    Reply

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

    • kakaeriel
      Reply

      mungkin ada yang salah saat memasang ob_start() dan ob_flush

  • galih
    Reply

    tks gan…..

  • elang
    Reply

    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

    • resya
      Reply

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

  • sarastiono
    Reply

    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.

  • Fery
    Reply

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

  • linus torvalds
    Reply

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

  • header
    Reply

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

  • hisbu
    Reply

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

  • zainal
    Reply

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

  • harry
    Reply

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

  • Kumpulan Ebook Gratis
    Reply

    sip gan haturnuhun :)

  • enggar
    Reply

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

  • Erlan Bachtiar
    Reply

    wah terimakasih banyak om :D
    akhirnya solved juga problemnya :)

  • hans
    Reply

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

  • Rika
    Reply

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

  • Halo teknisi
    Reply

    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

  • desi Manda
    Reply

    MASIH ERROR, MOHON BANTUANNYA :)
    INI SCRIPT

  • Joshua
    Reply

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

  • Edy
    Reply

    Matur nuwun bangeett…

  • Dimas Panji
    Reply

    terima kasih broo sangat membantu….

  • imron amin
    Reply

    Makasih masbro, masalah terselesaikan. gbu

  • Sun
    Reply

    ngebantu banget tutor nya :)

  • iRusdha
    Reply

    Makasih sharingnya gan, sangat membantu :D

  • J.K.A.
    Reply

    Mempan, gan. Thanks! :D

  • anon
    Reply

    thanks , its work

  • Blog.id-bi.com
    Reply

    Sangat membantu sekali informasinya terimkasih sering sekali mengalamin hal seperti itu

  • andar
    Reply

    terima kasih pak

  • Ini dia
    Reply

    Ini dia…. terimakasih mas… :*

  • Andi Raharjo
    Reply

    <?
    //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

  • Andi Raharjo
    Reply

    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

  • gunawan
    Reply

    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.

Leave a Comment


one + = 10