简体   繁体   中英

headers already sent error when running php script

I have a Problem. I already searched for a solution but nothing change.

The warning message still appears:

information - headers already sent by (output started at C:\\xampp\\htdocs\\PRFFWC\\edit.php:82) in C:\\xampp\\htdocs\\PRFFWC\\edit.php on line 199

This is the line that i got this warning:

<input type="text" name="palali"  value=<?php echo $row['palali']; ?>>
header('Location:index.php');}

Can anyone help me solve this?

My Code

<?php
include ('db.php');
include ('header.php');
$ID=$_GET['id'];
?>
   <html>

   <body>


      <div class="container">
         <div class="hero-unit-header">
            <div class="container-con">
               <!-- end banner & menunav -->

               <div class="container">
                  <div class="row-fluid">
                     <div class="span12">
                        <div class="row-fluid">
                           <div class="span3"></div>
                           <div class="span6">


                              <div class="hero-unit-3">
                                 <center>
                                    <?php
  $sql= "select * from rainfallstations_copy where id='$ID'" ;
  $result   = mysqli_query($con,$sql) or die('Error: ' . mysqli_error($con));
$row=mysqli_fetch_array($result);
?>
                                       <form class="form-horizontal" method="post" enctype="multipart/form-data" style="float: right;">
                                          <legend>
                                             <h4>Edit</h4></legend>



                                          <h4>PRFFWC Records</h4>
                                          <hr>
                                          <div class="control-group">
                                             <label class="control-label" for="inputmunoz">Munoz:</label>
                                             <div class="controls">
                                                <input type="text" name="munoz" value=<?php echo $row[ 'munoz']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputsapang_buho">Sapang Buho:</label>
                                             <div class="controls">
                                                <input type="text" name="sapang_buho" value=<?php echo $row[ 'sapang_buho']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputgabaldon">Gabaldon:</label>
                                             <div class="controls">
                                                <input type="text" name="gabaldon" value=<?php echo $row[ 'gabaldon']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputzaragoza">Zaragoza:</label>
                                             <div class="controls">
                                                <input type="text" name="zaragoza" value=<?php echo $row[ 'zaragoza']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputmayapyap">Mayapyap</label>
                                             <div class="controls">
                                                <input type="text" name="mayapyap" value=<?php echo $row[ 'mayapyap']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputpenaranda">Penaranda:</label>
                                             <div class="controls">
                                                <input type="text" name="penaranda" value=<?php echo $row[ 'penaranda']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputcalaanan">Calaanan:</label>
                                             <div class="controls">
                                                <input type="text" name="calaanan" value=<?php echo $row[ 'calaanan']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputpalali">Palali:</label>
                                             <div class="controls">
                                                <input type="text" name="palali" value=<?php ob_start() echo $row[ 'palali']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputsan_isidro">San Isidro:</label>
                                             <div class="controls">
                                                <input type="text" name="san_isidro" value=<?php echo $row[ 'san_isidro']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputarayat">Arayat:</label>
                                             <div class="controls">
                                                <input type="text" name="arayat" value=<?php echo $row[ 'arayat']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputcandaba">Candaba:</label>
                                             <div class="controls">
                                                <input type="text" name="candaba" value=<?php echo $row[ 'candaba']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputsibul_spring">Sibul Spring:</label>
                                             <div class="controls">
                                                <input type="text" name="sibul_spring" value=<?php echo $row[ 'sibul_spring']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputsasmuan">Sasmuan:</label>
                                             <div class="controls">
                                                <input type="text" name="sasmuan" value=<?php echo $row[ 'sasmuan']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputsulipan">Sulipan:</label>
                                             <div class="controls">
                                                <input type="text" name="sulipan" value=<?php echo $row[ 'sulipan']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputmexico">Mexico:</label>
                                             <div class="controls">
                                                <input type="text" name="mexico" value=<?php echo $row[ 'mexico']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputporac">Porac:</label>
                                             <div class="controls">
                                                <input type="text" name="porac" value=<?php echo $row[ 'porac']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <label class="control-label" for="inputsan_rafael">San Rafael:</label>
                                             <div class="controls">
                                                <input type="text" name="san_rafael" value=<?php echo $row[ 'san_rafael']; ?>>
                                             </div>
                                          </div>
                                          <div class="control-group">
                                             <div class="controls">

                                                <button type="submit" name="update" class="btn btn-success" style="margin-right: 65px;">Save</button>
                                                <a href="index.php" class="btn">Back</a>
                                             </div>
                                          </div>
                                       </form>
                                       <?php


                            $id=$_REQUEST['id'];


$sql= "select * from rainfallstations_copy where id='$ID'" ;
$result = mysqli_query($con,$sql) or die('Error: ' . mysqli_error($con));
$test = mysqli_fetch_array($result);
if (!$result)
        {
        die("Error: Data not found..");
        }
else
{
                                    $munoz= $test['munoz'];
                                    $sapang_buho= $test['sapang_buho'];
                                    $gabaldon= $test['gabaldon'];
                                    $zaragoza= $test['zaragoza'];
                                    $mayapyap= $test['mayapyap'];
                                    $penaranda= $test['penaranda'];
                                    $calaanan= $test['calaanan'];
                                    $palali= $test['palali'];
                                    $san_isidro= $test['san_isidro'];
                                    $arayat= $test['arayat'];
                                    $candaba= $test['candaba'];
                                    $sibul_spring= $test['sibul_spring'];
                                    $sasmuan= $test['sasmuan'];
                                    $sulipan= $test['sulipan'];
                                    $mexico= $test['mexico'];
                                    $porac= $test['porac'];
                                    $san_rafael= $test['san_rafael'];
if (isset($_POST['update'])) {
                                    $munoz_save= $_POST['munoz'];
                                    $sapang_buho_save= $_POST['sapang_buho'];
                                    $gabaldon_save= $_POST['gabaldon'];
                                    $zaragoza_save= $_POST['zaragoza'];
                                    $mayapyap_save= $_POST['mayapyap'];
                                    $penaranda_save= $_POST['penaranda'];
                                    $calaanan_save= $_POST['calaanan'];
                                    $palali_save= $_POST['palali'];
                                    $san_isidro_save= $_POST['san_isidro'];
                                    $arayat_save= $_POST['arayat'];
                                    $candaba_save= $_POST['candaba'];
                                    $sibul_spring_save= $_POST['sibul_spring'];
                                    $sasmuan_save= $_POST['sasmuan'];
                                    $sulipan_save= $_POST['sulipan'];
                                    $mexico_save= $_POST['mexico'];
                                    $porac_save= $_POST['porac'];
                                    $san_rafael_save= $_POST['san_rafael'];

$sql= "UPDATE rainfallstations_copy SET munoz = '$munoz_save' , sapang_buho = '$sapang_buho_save' , gabaldon ='$gabaldon_save', zaragoza = '$zaragoza_save' , mayapyap ='$mayapyap_save',penaranda = '$penaranda_save' , calaanan = '$calaanan_save' , palali ='$palali_save',san_isidro = '$san_isidro_save' , arayat ='$arayat_save',candaba = '$candaba_save' , sibul_spring = '$sibul_spring_save' , sasmuan ='$sasmuan_save',sulipan = '$sulipan_save' , mexico ='$mexico_save',porac = '$porac_save' , san_rafael = '$san_rafael_save' WHERE id = '$id'" ;
$result = mysqli_query($con,$sql) or die('Error: ' . mysqli_error($con));
header('Location:index.php');}
}
?>

                                 </center>


                              </div>
                           </div>
                        </div>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>

   </body>

   </html>

The problem is that you're sending content (see <input type="text" name="palali" ...) and after that you're trying to send header ( header('Location:index.php') . You have to set header values before sending content. Other solution is using ob_start function which will turn on output buffering. But ob_start have to be used before any content is written to output so in your case you need this:

<?php ob_start();?>
<input type="text" name="palali"  value=<?php echo $row['palali']; ?>>
header('Location:index.php');}

I'm wondering why are you sending content when you're also sending redirect header...

headers already sent this error normally comes when you send content first before header. So No output before sending headers!

Functions that send/modify HTTP headers must be invoked before any output is made.

For avoiding this error always add ob_start just after the <?php . one more thing whenever use header never forget to place exit(); or die() after your header.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM