0

when i running my project i got errorr like this

warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\skripsieka\file1.php:125) in C:\xampp\htdocs\skripsieka\file2.php on line 2

what reason for this? and how to fix it

this the code

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>SPK topsis</title>
    <!-- plugins:css -->
    <link rel="stylesheet" href="assets/vendors/mdi/css/materialdesignicons.min.css">
    <link rel="stylesheet" href="assets/vendors/css/vendor.bundle.base.css">
    <!-- endinject -->
    <!-- Plugin css for this page -->
    <!-- End plugin css for this page -->
    <!-- inject:css -->
    <!-- endinject -->
    <!-- Layout styles -->
    <link rel="stylesheet" href="assets/css/style.css">
    <!-- End layout styles -->
    <link rel="shortcut icon" href="assets/images/favicon.png" />
  </head>

<?php
if(@$_GET['a']=='kriteria'){
  $active1='class="active"';
  $active2='';
  $active3='';
  $active4='';
}else if(@$_GET['a']=='alternatif'){
  $active1='';
  $active2='class="active"';
  $active3='';
  $active4='';
}else if(@$_GET['a']=='nilaimatrik'){
  $active1='';
  $active2='';
  $active3='class="active"';
  $active4='';
}else if(@$_GET['a']=='hasiltopsis'){
  $active1='';
  $active2='';
  $active3='';
  $active4='class="active"';
}else{
  $active1='';
  $active2='';
  $active3='';
  $active4='';
} 

?> 
 


<div class="container-scroller">
      <!-- partial:partials/_navbar.html -->
      <nav class="navbar default-layout-navbar col-lg-12 col-12 p-0 fixed-top d-flex flex-row">
        <div class="text-center navbar-brand-wrapper d-flex align-items-center justify-content-center">
          <a class="navbar-brand brand-logo" href="index.html"><img src="assets/images/logo.svg" alt="logo" /></a>
          <a class="navbar-brand brand-logo-mini" href="index.html"><img src="assets/images/logo-mini.svg" alt="logo" /></a>
        </div>
        <div class="navbar-menu-wrapper d-flex align-items-stretch">
          <button class="navbar-toggler navbar-toggler align-self-center" type="button" data-toggle="minimize">
            <span class="mdi mdi-menu"></span>
          </button>
          <div class="search-field d-none d-md-block">
            <form class="d-flex align-items-center h-100" action="#">
              <div class="input-group">
                <div class="input-group-prepend bg-transparent">
                  <i class="input-group-text border-0 mdi mdi-magnify"></i>
                </div>
                <input type="text" class="form-control bg-transparent border-0" placeholder="Search projects">
              </div>
            </form>
          </div>
          <ul class="navbar-nav navbar-nav-right">
            
            <li class="nav-item nav-logout d-none d-lg-block">
              <a class="nav-link" href="logout.php">
                <i class="mdi mdi-power"></i>
              </a>
            </li>
            
          </ul>
        
        </div>
      </nav>
      <!-- partial -->
      <div class="container-fluid page-body-wrapper">
        <!-- partial:partials/_sidebar.html -->
        <nav class="sidebar sidebar-offcanvas" id="sidebar">
          <ul class="nav">
            <li class="nav-item nav-profile">
              <a href="#" class="nav-link">
                <div class="nav-profile-image">
                  <img src="assets/images/faces/face1.jpg" alt="profile">
                  <span class="login-status online"></span>
                  <!--change to offline or busy as needed-->
                </div>
                <div class="nav-profile-text d-flex flex-column">
                  <span class="font-weight-bold mb-2">Admin</span>
                  <span class="text-secondary text-small">eka amaliyah</span>
                </div>
                <i class="mdi mdi-bookmark-check text-success nav-profile-badge"></i>
              </a>
            </li>
            <li <?php echo $active1 ?> class="nav-item">
              <a class="nav-link" href="?a=kriteria&k=kriteria" >
                <span class="menu-title">Kriteria</span>
                <i class="mdi mdi-home menu-icon"></i>
              </a>
            </li>
            <li <?php echo $active2 ?> class="nav-item">
              <a class="nav-link" data-toggle="collapse" href="?a=alternatif&k=alternatif" aria-expanded="false" aria-controls="ui-basic">
                <span class="menu-title">Data Kepala Keluarga</span>
                <i class="menu-arrow"></i>
                <i class="mdi mdi-crosshairs-gps menu-icon"></i>
              </a>
            </li>
            <li <?php echo $active3 ?> class="nav-item">
              <a class="nav-link" href="?a=nilaimatrik">
                <span class="menu-title">Nilai matriks</span>
                <i class="mdi mdi-contacts menu-icon"></i>
              </a>
            </li>
            <li <?php echo $active4 ?> class="nav-item">
              <a class="nav-link" href="?a=hasiltopsis&k=nilai_matriks">
                <span class="menu-title">Hasil Topsis</span>
                <i class="mdi mdi-format-list-bulleted menu-icon"></i>
              </a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="pages/charts/chartjs.html">
                <span class="menu-title">Charts</span>
                <i class="mdi mdi-chart-bar menu-icon"></i>
              </a>
            </li>
          
           
            
          </ul>
        </nav>
        <!-- partial -->
        <div class="main-panel">
          <div class="content-wrapper">

            <div class="col-12 grid-margin">
                <div class="card">
                  <div class="card-body">
                    
                  <?php
 
                    if(@$_GET['a']=='kriteria'){
                    include ("kriteria.php");
                    }else if(@$_GET['a']=='alternatif'){
                    include ("alternatif.php");
                    }else if(@$_GET['a']=='nilaimatrik'){
                    include ("nilaimatrik.php");
                    }else if(@$_GET['a']=='hasiltopsis'){
                    include ("hasiltopsis.php");
                    }



 
                  ?>
 
          
                </div>
              </div>
            </div>
            
          <!-- content-wrapper ends -->
          <!-- partial:partials/_footer.html -->
          <footer class="footer">
            <div class="d-sm-flex justify-content-center justify-content-sm-between">
              <span class="text-muted text-center text-sm-left d-block d-sm-inline-block">Copyright © 2020 <a href="https://www.bootstrapdash.com/" target="_blank">Eka amaliyah</a>. All rights reserved.</span>
              <span class="float-none float-sm-right d-block mt-1 mt-sm-0 text-center">I made it with <i class="mdi mdi-heart text-danger"></i></span>
            </div>
          </footer>
          <!-- partial -->
        </div>
        <!-- main-panel ends -->
      </div>
      <!-- page-body-wrapper ends -->
    </div>

<!-- TAB KIRI -->

<!-- /TAB KIRI -->  
  
  

  <
 
 
</div>
 <!-- container-scroller -->
    <!-- plugins:js -->
    <script src="../../assets/vendors/js/vendor.bundle.base.js"></script>
    <!-- endinject -->
    <!-- Plugin js for this page -->
    <!-- End plugin js for this page -->
    <!-- inject:js -->
    <script src="../../assets/js/off-canvas.js"></script>
    <script src="../../assets/js/hoverable-collapse.js"></script>
    <script src="../../assets/js/misc.js"></script>
    <!-- endinject -->
    <!-- Custom js for this page -->
    <!-- End custom js for this page -->
</body>
</html>

and this the page when error came

<?php
session_start();
include ("konfig/koneksi.php");
$s=mysqli_query($conn,"select * from kriteria");
$h=mysqli_num_rows($s);


?>

<div class="box-header">
    <h3 class="box-title " >Jarak Solusi Ideal Positif (D<sup>+</sup>)</h3>
</div>

<table class="table table-bordered table-responsive">
<thead>
<tr>
<th >Nomor</th>
<th >Nama</th>
<th >D<sup>+</sup></th>
</tr>

</thead>
<tbody>
<?php
//buat array kolom

$i2=1;
$i3=0;
$maxarray=array();
$a2=mysqli_query($conn,"select * from kriteria");
echo "<tr>";
while($da2=mysqli_fetch_assoc($a2)){
  
  $idalt2=$da2['id_kriteria'];
 
  //ambil nilai
   
   $n2=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idalt2'");
  $jarakp2=0;
  $c2=0;
  $ymax2=array();
  
  while($dn2=mysqli_fetch_assoc($n2)){
   $idk2=$dn2['id_kriteria'];
      
   //nilai kuadrat
   
   $nilai_kuadrat2=0;
   $k2=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk2' ");
   while($dkuadrat2=mysqli_fetch_assoc($k2)){
    $nilai_kuadrat2=$nilai_kuadrat2+($dkuadrat2['nilai']*$dkuadrat2['nilai']);
   }

   //hitung jml alternatif
   $jml_alternatif2=mysqli_query($conn,"select * from alternatif");
   
   $jml_a2=mysqli_num_rows($jml_alternatif2); 
   //nilai bobot kriteria (rata")
   $bobot2=0;
   $tnilai2=0;
   
   $k22=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk2' ");
   while($dbobot2=mysqli_fetch_assoc($k22)){
    $tnilai2=$tnilai2+$dbobot2['nilai'];
   } 
    $bobot2=$tnilai2/$jml_a2;
   
   //nilai bobot input
   $b2=mysqli_query($conn,"select * from kriteria where id_kriteria='$idk2'");
   $nbot2=mysqli_fetch_assoc($b2);
   $bot2=$nbot2['bobot'];
   
   
   $v2=round(($dn2['nilai']/sqrt($nilai_kuadrat2))*$bot2,3);

    $ymax2[$c2]=$v2;
    $c2++;
   
  

   #cek benefit atau cost  
           // echo $nbot2['sifat']." - ".$nbot2['nama_kriteria']."<br>";
            
            
            if($nbot2['sifat']=='benefit'){
    $mak2=max($ymax2);
            }else{
                $mak2=min($ymax2);
            }#cek benefit atau cost
   
  }
     
  //hitung D+   
   foreach($ymax2 as $nymax2){
    
    $jarakp2=$jarakp2+pow($nymax2-$mak2,2);
    
   }
   
  //array max
  $maxarray[$i3]=max($ymax2);
    
  //print_r($maxarray);
  //print_r(max($ymax2));   
  $i2++;
  $i3++;
}
//session array ymax
$_SESSION['ymax']=$maxarray;

//array baris//////////////////////////////////////////////////
$i=1;
$ii=0;
$dpreferensi=array();

$a=mysqli_query($conn,"select * from alternatif");
echo "<tr>";
while($da=mysqli_fetch_assoc($a)){
  
  $idalt=$da['id_alternatif'];
 
  //ambil nilai   
   $n=mysqli_query($conn,"select * from nilai_matrik where id_alternatif='$idalt'");
  $jarakp=0;
  $c=0;
  $ymax=array();
  $arraymaks=array();
  while($dn=mysqli_fetch_assoc($n)){
   $idk=$dn['id_kriteria'];
     
   //nilai kuadrat   
   $nilai_kuadrat=0;
   $k=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk' ");
   while($dkuadrat=mysqli_fetch_assoc($k)){
    $nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);
   }

   //hitung jml alternatif
   $jml_alternatif=mysqli_query($conn,"select * from alternatif");
   
   $jml_a=mysqli_num_rows($jml_alternatif); 
   //nilai bobot kriteria (rata")
   $bobot=0;
   $tnilai=0;
   
   $k2=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk' ");
   while($dbobot=mysqli_fetch_assoc($k2)){
    $tnilai=$tnilai+$dbobot['nilai'];
   } 
    $bobot=$tnilai/$jml_a;
   
   //nilai bobot input
   $b2=mysqli_query($conn,"select * from kriteria where id_kriteria='$idk'");
   $nbot=mysqli_fetch_assoc($b2);
   $bot=$nbot['bobot'];
      
   $v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

    $ymax[$c]=$v;
    $c++;
    $mak=max($ymax);
  
  }
   //hitung D+ 
   foreach($ymax as $nymax=>$value){
    $maks=$_SESSION['ymax'][$nymax];
    //echo $maks." - ";
    $final=sqrt($jarakp=$jarakp+pow($value-$maks,2));
    //echo $jarakp." || ";
   }
 
  echo "<tr>
  <td>$i</td>
  <td>$da[nm_alternatif]</td>
  <td>".round($final,3)."</td>
  </tr>";  
  $dpreferensi[$ii]=round($final,3);
  $_SESSION['dplus']=$dpreferensi;  
  //print_r($ymax);
 
  $i++;
  $ii++;
  
}

echo "</tr>";

?>

</tbody>
</table>

<!-- tabel min ------------------------------------------------->

<div class="box-header">
    <h3 class="box-title " >Jarak Solusi Ideal Negatif (D<sup>-</sup>)</h3>
</div>

<table class="table table-bordered table-responsive">
<thead>
<tr>
<th >Nomor</th>
<th >Nama</th>
<th >D<sup>-</sup></th>
</tr>
</thead>
<tbody>
<?php
//buat array kolom

$i2=1;
$i3=0;
$minarray=array();
$a2=mysqli_query($conn,"select * from kriteria");
echo "<tr>";
while($da2=mysqli_fetch_assoc($a2)){
  
  $idalt2=$da2['id_kriteria'];
 
  //ambil nilai
   
   $n2=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idalt2'");
  $jarakp2=0;
  $c2=0;
  $ymin2=array();
  
  while($dn2=mysqli_fetch_assoc($n2)){
   $idk2=$dn2['id_kriteria'];
      
   //nilai kuadrat
   
   $nilai_kuadrat2=0;
   $k2=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk2' ");
   while($dkuadrat2=mysqli_fetch_assoc($k2)){
    $nilai_kuadrat2=$nilai_kuadrat2+($dkuadrat2['nilai']*$dkuadrat2['nilai']);
   }

   //hitung jml alternatif
   $jml_alternatif2=mysqli_query($conn,"select * from alternatif");
   
   $jml_a2=mysqli_num_rows($jml_alternatif2); 
   //nilai bobot kriteria (rata")
   $bobot2=0;
   $tnilai2=0;
   
   $k22=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk2' ");
   while($dbobot2=mysqli_fetch_assoc($k22)){
    $tnilai2=$tnilai2+$dbobot2['nilai'];
   } 
    $bobot2=$tnilai2/$jml_a2;
   
   //nilai bobot input
   $b2=mysqli_query($conn,"select * from kriteria where id_kriteria='$idk2'");
   $nbot2=mysqli_fetch_assoc($b2);
   $bot2=$nbot2['bobot'];
      
   $v2=round(($dn2['nilai']/sqrt($nilai_kuadrat2))*$bot2,3);

    $ymin2[$c2]=$v2;
    $c2++;
    $min2=min($ymin2);
       
  }
   
  //hitung D+
   
   foreach($ymin2 as $nymin2){
    
    $jarakp2=$jarakp2+pow($nymin2-$min2,2);
    //echo "--".$mak."---";
   }
 
  //array max
  $minarray[$i3]=min($ymin2);
 
  //print_r($maxarray);
  //print_r(max($ymax2));

  $i2++;
  $i3++;
}
//session array ymax
$_SESSION['ymin']=$minarray;

//array baris//////////////////////////////////////////////////
$i=1;
$ii=0;
$id_alt=array();
$a=mysqli_query($conn,"select * from alternatif");
echo "<tr>";
while($da=mysqli_fetch_assoc($a)){
 
  $idalt=$da['id_alternatif'];
 
  //ambil nilai
   
   $n=mysqli_query($conn,"select * from nilai_matrik where id_alternatif='$idalt'");
  $jarakp=0;
  $c=0;
  $ymax=array();
  $arraymin=array();
  while($dn=mysqli_fetch_assoc($n)){
   $idk=$dn['id_kriteria'];
   
   
   //nilai kuadrat
   
   $nilai_kuadrat=0;
   $k=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk' ");
   while($dkuadrat=mysqli_fetch_assoc($k)){
    $nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);
   }

   //hitung jml alternatif
   $jml_alternatif=mysqli_query($conn,"select * from alternatif");
   
   $jml_a=mysqli_num_rows($jml_alternatif); 
   //nilai bobot kriteria (rata")
   $bobot=0;
   $tnilai=0;
   
   $k2=mysqli_query($conn,"select * from nilai_matrik where id_kriteria='$idk' ");
   while($dbobot=mysqli_fetch_assoc($k2)){
    $tnilai=$tnilai+$dbobot['nilai'];
   } 
    $bobot=$tnilai/$jml_a;
   
   //nilai bobot input
   $b2=mysqli_query($conn,"select * from kriteria where id_kriteria='$idk'");
   $nbot=mysqli_fetch_assoc($b2);
   $bot=$nbot['bobot'];
    
   $v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

    $ymin[$c]=$v;
    $c++;
    $min=max($ymin);

  }
   //hitung D+
   foreach($ymin as $nymin=>$value){
    $mins=$_SESSION['ymin'][$nymin];
   // echo $mins." - ";
    $final=sqrt($jarakp=$jarakp+pow($value-$mins,2));
   // echo $jarakp." || ";

   }
 
  echo "<tr>
  <td>$i</td>
  <td>$da[nm_alternatif]</td>
  <td>".round($final,3)."</td>
  </tr>";  
  //session min
  $dpreferensi[$ii]=round($final,3);
  $_SESSION['dmin']=$dpreferensi; 
  //print_r($ymin);

  //ambil id alternatif
  $id_alt[$ii]=$da['id_alternatif'];
  $_SESSION['id_alt']=$id_alt; 
  
  $i++;
  $ii++;
}

echo "</tr>";

?>

</tbody>
</table>
Florian
  • 2,796
  • 1
  • 15
  • 25

3 Answers3

0

This error usually comes when the session_start() is not declared at the very beginning of the page and the php script is already sent to HTTP headers. You must start the session at the very beginning of the page.

Kunal Raut
  • 2,495
  • 2
  • 9
  • 25
0

You should use

if(!isset($_SESSION)) 
    { 
        session_start(); 
    }

may be it works

  • For me $_SESSION equal `null` so it's wasn't even started. session_start(); are on very top of my script page, there is no inlcudes before it, but still got this stupid message, maybe i's due to freehost issue . – Salem Apr 15 '22 at 20:06
0

Check that session_start() is written at the top of the file and nothing else is printed before that.

Looking at your code, session_start() is written at the top but may be an error is occurring which is printing that error before session. Please enable display of error and error reporting to check using below code.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);
Umair Malik
  • 1,403
  • 3
  • 30
  • 59