2014-02-26 5 views
0

PHP로 문제를 해결하려고하는데 실수가 어디인지 알 수 없습니다. 누군가 나를 도울 수 있다면 답을 써주세요.PHP는 헤더를 수정할 수 없습니다

PHP는 다음과 같은 오류 메시지를 보냅니다 :

[26-Feb-2014 03:00:46 Europe/Berlin] PHP Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/PressIn_21022014/includes/head.php:2) in /Applications/MAMP/htdocs/PressIn_21022014/recap_commande.php on line 41

내가 valider_commande 클릭 :

<?php 
    session_start(); 
    if(isset($_SESSION['auth']) && $_SESSION['auth'] == true){ 
    $document = basename(__FILE__); 
    $titre = "Espace Membre"; 
    include("includes/head.php"); 
?> 


    <div class="background col-xs-12 col-sm-12 col-md-12 col-lg-12"> 
      <div class="container top"> 
      <div class="elements"> 
       <form id="form_top_ten" method="POST" action="recap_commande.php"> 
        <div class="row"> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Veste</h4></div> 
             <img src="img/icone_veste.svg" /> 
             <button id="moins_veste" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
             <span class="quantite" id="top_ten_nb_veste">1</span> 
             <button id="plus_veste" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
             <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 
           </div> 
         </div> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Pantalon</h4></div> 
            <img src="img/icone_pant.svg" /> 
            <button id="moins_pantalon" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_pantalon">1</span> 
            <button id="plus_pantalon" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 

           </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Chemise</h4></div> 
            <img src="img/icone_chemise.svg" /> 
            <button id="moins_chemise" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_chemise">1</span> 
            <button id="plus_chemise" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> € </div> 

           </div> 
         </div> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Robe</h4></div> 
            <img src="img/icone_robe.svg" /> 
            <button id="moins_robe" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_robe">1</span> 
            <button id="plus_robe" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 

           </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Manteau</h4></div> 
            <img src="img/icone_manteau.svg" /> 
            <button id="moins_manteau" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_manteau">1</span> 
            <button id="plus_manteau" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> € </div> 

           </div> 
         </div> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Veste</h4></div> 
            <img src="img/icone_pant.svg" /> 
            <button type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_veste">1</span> 
            <button type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 

           </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="row col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Pull</h4></div> 
            <img src="img/icone_pull.svg" /> 
            <button id="moins_pull" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_pull">1</span> 
            <button id="plus_pull" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 

           </div> 
         </div> 
         <div class="row col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Jupe</h4></div> 
            <img src="img/icone_jupe.svg" /> 
            <button id="moins_jupe" type="button" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_jupe">1</span> 
            <button id="plus_jupe" type="button" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 

           </div> 
         </div> 
        </div> 
        <div class="row"> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Draps</h4></div> 
            <img src="img/icone_drap.svg" /> 
            <button type="moins_drap" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_drap">1</span> 
            <button type="plus_drap" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_drap"> 10</span> €</div> 

           </div> 
         </div> 
         <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
           <div class="commande_top_ten"> 
            <div class="col-xs-3 col-sm-4 col-md-4 col-lg-3"><h4>Chemise</h4></div> 
            <img src="img/icone_chemisepliee.svg" /> 
            <button type="moins_drap" class="btn-moins btn-circle btn-mini"><i class="glyphicon-minus"></i> </button> 
            <span class="quantite" id="top_ten_nb_drap">1</span> 
            <button type="plus_drap" class="btn-plus btn-circle btn-mini"><i class="glyphicon-plus"></i> </button> 
            <div class="prix"><span class="prix_pantalon"> 10</span> €</div> 
           </div> 
         </div> 
        </div> 

        <button type ="submit" class="btn_valider btn btn-danger col-xs-9 col-sm-6 col-md-6 col-lg-4" name="valider_commande" value="valider_commande"><i class="glyphicon glyphicon-shopping-cart"></i>Valider commande (' .$prix_total. ' euros)</button> 
        </form> 
       </div> 
       </div> 
       <?php 
        if (!empty($_SESSION['form_top_ten'])){ 
         $nb_articles = sizeof($_SESSION['commande_top_ten']); 
         $prix_total = 0; 
         for ($i=0;$i<$nb_articles;$i++){ 
         $prix_total += $_SESSION['commande_top_ten'][$i]['prix']; 
         } 
        } 

       ?> 
     </div> 
    <?php 
     } 
     else{ 
     header('Location:auth_form.php'); 
     } 
    ?> 

이것은 head.php 라인 2 :

<head> 
    **<title>E-Pressing - <?php echo $titre; ?></title>** 
    <link href="css/bootstrap.css" rel="stylesheet"> 
    <meta charset="UTF-8"> 
    <link href="css/business-frontpage.css" rel="stylesheet"> 
    <link href='http://fonts.googleapis.com/css?family=Poiret+One' rel='stylesheet' type='text/css'> 
    <link href='http://fonts.googleapis.com/css?family=Lato:100,300,400,700,900,100italic,300italic,400italic,700italic,900italic' rel='stylesheet' type='text/css'> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
</head> 

도움 주셔서 감사합니다.

답변

0

이 오류는 session_start으로 전화하기 전에 어딘가에서 출력했음을 의미합니다. 당신은 당신이 공백을 가질 수 없습니다

1

다음 줄 중 하나를하기 전에 (당신이 그것을 얻을 수 있습니다 또는 가까운) 당신이 전화를 제일 먼저 확인해야합니다

session_start(); 
header('Location:auth_form.php'); 

할 수도 "해킹 이 문제를 해결하려면 PHP 스크립트의 맨 처음에 ob_start()을 삽입하여 내용을 출력 버퍼링 할 수 있습니다 (선택 사항이없는 경우에만 수행).

2

실제 출력을 보내기 전에 header()를 호출해야합니다. 일반 HTML 태그, 파일의 빈 줄 또는 PHP로 표시됩니다. include, require, 함수 또는 다른 파일 액세스 함수로 코드를 읽고 header()가 호출되기 전에 공백이나 빈 줄이 출력되는 것은 매우 일반적인 오류입니다. 단일 PHP/HTML 파일을 사용할 때도 같은 문제가 발생합니다. 분수에서

<html> 
<?php 
/* This will give an error. Note the output 
* above, which is before the header() call */ 
header('Location: http://www.example.com/'); 
exit; 
?> 

음주 여부 : http://php.net/manual/pt_BR/function.header.php
) 답에 대한

+0

감사하지만 난 이미 알고 내가 확인했지만 내가 실수를 찾을 수 없습니다! –

+0

if를 반전 해보십시오. 'if (! isset ($ _ SESSION [ 'auth']) && $ _SESSION [ 'auth']! = true) {'그래서, 헤더를 변경하십시오. 나는 여기서 위장하여 작동한다. –

관련 문제