GAGAL Riderect : Warning: Cannot modify header information - headers already sent by

Permisi kakak, saya maua tanya kak. sistem login saya kenapa gak bisa ridirect ke index.php ya kak? terimakasih :)

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Diperbarui 6 tahun yang lalu

16 Jawaban:

itu biasanya masalah di session_start nya kak

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

sudah kak. ada peringatan seperti ini "Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/html/dua/login.php:1)"

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

saya juga pernah gitu kak, tapi saya akalin aja pake ob_start() sama ob_flush() dan berhasil

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

berarti gak pake session_start() ya kak?

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

dihalaman loginnya itu di kasih kaya gini kalo disaya

<?php
session_start();
#logikanya disini bla bla bla

ob_start()
?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
 dashboard login
</body>
</html>
<?php
ob_flush()
?>

di kode html awal dikasih ob_start, trus kalo di akhir dikasih ob_flush()

gitu sihh kak, kalo disaya berhasil gk tau di kakak gmana, saya juga masih pemula soalnya

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

ini kodingan saya kak

 <?php
require_once "core/init.php";

  $error = '';

  if (isset($_POST['submit'])) {
    $nama = $_POST['username'];
    $pass = $_POST['password'];

    if (!empty(trim($nama)) && !empty(trim($pass))) {
      if (cek_data($nama, $pass)) {
        header('Location: index.php');
      } else {
          $error = '*Failed';
      }
    } else {
        $error = '*Login Failed';
    }

  }

require_once "views/header.php";

?>

<div class="login">
  <div class="container">
    <div class="row">
      <div class="col-sm-offset-4 col-sm-3">
        <div class="">
          <p class="text-danger"><?=$error; ?></p>
        </div>
        <div class="panel panel-default">
          <div class="panel-body">
            <div class="page-header">
              <h1>Login <small>Admin</small></h1><hr>
              <form method="post">
                <div class="form-group">
                  <label for="exampleInputEmail1">Username</label>
                  <input type="text" class="form-control" id="exampleInputEmail1" placeholder="Username" name="username">
                </div>
                <div class="form-group">
                  <label for="exampleInputPassword1">Password</label>
                  <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password" name="password">
                </div>
                <button type="submit" class="btn btn-default" name="submit">Login</button>
              </form>
            </div>
            <p class="text-right">© Gugun Guntoro</p>
          </div>
        </div>

      </div>
    </div>

  </div>
</div>

<?php require_once "views/footer.php"; ?>

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

sama satu lg kak, kalo saya di proses loginnya di kasih code exit(); pas mau redirect jadi kaya gini



<?php

if(cek user id dan passsword)
SESSION['bla bla'] = 'ok';
exit(header('Location: /dashboard.php'));
?>

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

saya berhasiiiiiiiiiiiiiiil kak :)

terimakasih banyak kak @tejo :D

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

coba kaya gini, tinggal ditambahin exit()


if (isset($_POST['submit'])) {
    $nama = $_POST['username'];
    $pass = $_POST['password'];

    if (!empty(trim($nama)) && !empty(trim($pass))) {
      if (cek_data($nama, $pass)) {
        exit(header('Location: index.php'));
      } else {
          $error = '*Failed';
      }
    } else {
        $error = '*Login Failed';
    }

  }

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

di apain itu kodenya?

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

saya letakin disini kak

 <?php

ob_start();

  require_once "core/init.php";
  $kutipan = kutipan();
  $kotakHarapan = kotakHarapan();
  $artikel = artikelLimit5();

  $perPage = 1;
  $page  = isset($_GET['halaman']) ? (int)$_GET['halaman'] : 1;
  $start = ($page > 1) ? ($page * $perPage) - $perPage : 0;

  $articles = "SELECT * FROM tulisanKecil ORDER BY id DESC LIMIT $start, $perPage";
  $result2  = mysqli_query($link, $articles);

  $result = mysqli_query($link, "SELECT * FROM tulisanKecil ORDER BY id DESC");
  $total  = mysqli_num_rows($result);

  $pages = ceil($total/$perPage);

  $error = '';

  if (isset($_GET['cari']) AND isset($_GET['submit'])) {
    $error = '*maaf, tombol pencariannya lagi <b><em>badmood</em></b>';
  }

  require_once 'views/header.php';
  require_once 'views/carousel.php';

  ob_flush();

?>
avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

fungsi exit() itu gunanya untuk apa kak?

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

okoklahh semangat terus

avatar tejo
@tejo

82 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

kalo fungsi exit() itu gunanya untuk apa kak?

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

warning tersebut karena ada 2 session_start().

avatar hamdanidev
@hamdanidev

47 Kontribusi 12 Poin

Dipost 6 tahun yang lalu

session_start() saya kok ada peringatan seperti ini ya kak "Warning: session_start(): Cannot send session cache limiter - headers already sent"

avatar gugunguntoro
@gugunguntoro

250 Kontribusi 10 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban