Error Header Request di tutorial Membuat Blog

Mohon bantuannya suhu2,

Saya mendapati masalah saat mengikuti tutorial PHP membuat blog di video ke 6 (Tambah Data)

Saat menambah data, datanya tertambah namun halamannya tidak mau kembali ke index.php malah muncul error: "Warning: Cannot modify header information - headers already sent by (output started at /some/header.php:0) in /some/add.php on line 21

Berikut saya lampirkan kode yang dimaksud pada error:

header.php


<head>
  <title>SekolahKoding</title>
  <link rel="stylesheet" href="view/style.css">
</head>

<h1>Blog SekolahKoding</h1>
<div id="menu">
  <a href="index.php">Home</a>
  <a href="add.php">Tambah</a>
</div>


add.php


<?php

require_once "core/init.php";
require_once "view/header.php";

$error = '';

// fungsi isset
// ketika submit terkirim melalui metode post maka kita akan melakukan sesuatu
// $_POST itu berisi data-datanya
if(isset($_POST['submit'])){
  $judul = $_POST['judul'];
  $konten = $_POST['konten'];
  $tag = $_POST['tag'];

// Fungsi trim untuk memotong whitespace sehingga jika user memasukan spasi
// tetap akan error di program
  if(!empty(trim($judul)) && !empty(trim($konten)))  {

    if(tambah_data($judul, $konten, $tag)){
        header('Location: index.php');
      }else{
      $error = 'ada masalah saat menambah data';
    }

  }else{
    $error = 'judul dan konten wajib diisi';
  }
}

?>

<!-- jika action kosong berarti form mengirim data ke halaman yang sama -->
<form action="" method="post">
  <label for="judul">Judul</label> <br />
  <input type="text" name="judul" value=""> <br /><br />

  <label for="konten">Isi</label><br />
  <textarea name="konten" rows="8" cols = "40"></textarea><br /><br />

  <label for="tag">Tag</label><br />
  <input type="text" name="tag" value=""><br /><br />

  <div id="error"><?= $error ?></div> <br />

  <input type="submit" name="submit" value="submit">
</form>

 <?php

 require_once "view/footer.php";

?>

Mohon bantuannya jika suhu2 disini ada yang bisa membantu, terima kasih.

avatar andrewtio
@andrewtio

21 Kontribusi 2 Poin

Diperbarui 5 tahun yang lalu

3 Jawaban:

Kira2 apakah karena output bufferingnya belum aktif ya suhu?

avatar andrewtio
@andrewtio

21 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

coba code : <pre> require_once "view/header.php"; </pre>

di pindahin ke ke code :

<pre>

}else{ $error = 'judul dan konten wajib diisi'; } }

//pindahkan kebawah sini require_once "view/header.php"; ?&gt; </pre>

avatar ivanpratama99
@ivanpratama99

88 Kontribusi 12 Poin

Dipost 5 tahun yang lalu

Terima kasih @ivanpratama99. Kodenya sudah bisa berjalan dengan baik. :)

avatar andrewtio
@andrewtio

21 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban