警告的问题:session_start():无法发送会话缓存限制器-标头已发送

时间:2020-03-21 07:06:21

标签: php session

在我运行项目时,我会遇到这样的错误消息

警告:session_start():无法发送会话缓存限制器-标头 已发送(输出始于 C:\ xampp \ htdocs \ skripsieka \ file1.php:125)在 第2行上的C:\ xampp \ htdocs \ skripsieka \ file2.php

这是什么原因?以及如何解决

此代码

<!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>

这是发生错误时的页面

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

3 个答案:

答案 0 :(得分:0)

当在页面的开始处未声明{{1}}并且php脚本已经发送到HTTP标头时,通常会发生此错误。您必须在页面的最开始处开始会话。

答案 1 :(得分:0)

您应该使用

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

也许可行

答案 2 :(得分:0)

检查session_start()是否写在文件顶部,并且在此之前没有打印其他任何内容。

看看您的代码,session_start()写在顶部,但可能是发生了错误,正在会话前打印该错误。请启用显示错误和错误报告的功能,以使用以下代码进行检查。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);
相关问题