Avatar billede darkstardk Nybegynder
10. april 2005 - 19:34 Der er 10 kommentarer og
2 løsninger

Headers already sent by output

Har en hjemmeside, hvor jeg har inkluderet et forum i, men når jeg prøver at poste , kommer den med denne fejlmeddelelse:

Warning: Cannot modify header information - headers already sent by (output started at /customers/xplayed.com/xplayed.com/httpd.www/post.php:29) in /customers/xplayed.com/xplayed.com/httpd.www/post.php on line 210

Nogen, der kan løse det for mig..
Avatar billede jpvj Nybegynder
10. april 2005 - 19:40 #1
Du får på en eller anden måde sendt noget HTML output inden du skriver din header.

Det kan være noget så simpelt som en tom linie, men det er meget svært at sige uden at have set din kode.

Bottom line er, at du skal have sendt/skrevet alle dine headers *inden* du sender noget som helst andet.
Avatar billede darkstardk Nybegynder
10. april 2005 - 19:58 #2
<?php
$colname_rsSideindhold = "1";
if (isset($_GET['id'])) {
  $colname_rsSideindhold = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_cms, $cms);
$query_rsSideindhold = sprintf("SELECT * FROM sideindhold WHERE id = %s ORDER BY id DESC", $colname_rsSideindhold);
$rsSideindhold = mysql_query($query_rsSideindhold, $cms) or die(mysql_error());
$row_rsSideindhold = mysql_fetch_assoc($rsSideindhold);
$totalRows_rsSideindhold = mysql_num_rows($rsSideindhold);

$colname_rsSubmenu = "1";
if (isset($_GET['mainid'])) {
  $colname_rsSubmenu = (get_magic_quotes_gpc()) ? $_GET['mainid'] : addslashes($_GET['mainid']);
}
mysql_select_db($database_cms, $cms);
$query_rsSubmenu = sprintf("SELECT * FROM sideindhold WHERE mainid = %s", $colname_rsSubmenu);
$rsSubmenu = mysql_query($query_rsSubmenu, $cms) or die(mysql_error());
$row_rsSubmenu = mysql_fetch_assoc($rsSubmenu);
$totalRows_rsSubmenu = mysql_num_rows($rsSubmenu);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Xplayed.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {color: #7F7F7F}
a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a:active {
    text-decoration: none;
}
-->
</style>
</head>

<body>
<table width="70%"  border="0" align="left" cellpadding="0" cellspacing="0" class="layout">
  <tr>
    <td colspan="2"><img src="img/banner.gif" width="600" height="150" border="0" usemap="#Map"></td>
    <td width="27%"></td>
  </tr>
  <tr>
    <td width="18%" class="top1"><div align="center" class="style1">
      <?php

$dDagNumMaaned = date('j');
$dMaanedNumAar = date('n');
$dAarNu = date('Y');
$dDagNumUge = date('w');

$dagNavn = array(
    "Søndag",
    "Mandag",
    "Tirsdag",
    "Onsdag",
    "Torsdag",
    "Fredag",
    "Lørdag"
);

$maanedNavn = array(
    "Januar",
    "Februar",
    "Mars",
    "April",
    "Maj",
    "Juni",
    "Juli",
    "August",
    "September",
    "Oktober",
    "November",
    "December"
);

$dagNavn = htmlentities($dagNavn[$dDagNumUge]);
$maanedNavn = htmlentities($maanedNavn[$dMaanedNumAar-1]);

echo "$dagNavn, $dDagNumMaaned $maanedNavn - $dAarNu";
?>
    </div></td>
    <td colspan="2" class="top1"><a href="index.php?id=1&mainid=1">Forside</a> <span class="style1">| <a href="index.php?id=3&mainid=3">Members</a> | </span> <a href="index.php?id=2&mainid=2">Info</a> <span class="style1">|</span> <a href="forum.php">Forum</a> <span class="style1">|</span> <a href="index.php?id=4&mainid=4">Galleri</a> <span class="style1">|</span> <a href="index.php?id=5&mainid=5">Links</a></td>
  </tr>
  <tr>
    <td class="left"><p>&nbsp;</p>
      <?php do { ?>
      <table width="100%"  border="0" cellspacing="0" cellpadding="3">
        <tr>
          <td align="center" valign="top"><a href="index.php?id=<?php echo $row_rsSubmenu['id']; ?>&mainid=<?php echo $row_rsSubmenu['mainid']; ?>"><?php echo $row_rsSubmenu['navn']; ?></a></td>
        </tr>
      </table>
      <?php } while ($row_rsSubmenu = mysql_fetch_assoc($rsSubmenu)); ?>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td class="menu">&nbsp;</td>
            </tr>
          </table>           
            <table width="80%"  border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td><a href="http://www.brokenspirits.dk/" target="_blank"><img src="img/BAnner%20mini.jpg" width="88" height="31" border="0"></a></td>
              </tr>
            </table>            <p>&nbsp;</p>
            <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0" class="info" id=".info">
            <tr>
              <td align="center"><?
    $ip = getenv("REMOTE_ADDR");
    $fil = "count.txt";
    $f = file($fil);
    $antal = count($f);
    $yest = time() - 1800;
    $o = "0";
    $xidag = "f";
    $idag = time();
    $idag2 = date("Y F d, H:i");
        while ($antal > $o) {
            $streg = explode(" ", $f[$o]);
                if ($ip == $streg[0]) {
                $x = "t";
                    if ($streg[1] > $yest) {
                        $xidag = "t";
                    }
                }
            $o++;
        }
        if ($xidag == "f") {
            $logg = fopen("$fil", "a");
            fputs ($logg, "$ip $idag, $idag2\n");
           
            fclose ($logg);
        }
    $f = file($fil);
    $antal = count($f);
        if ($x == "t") {
            print "Bes&oslash;g ialt: $antal";
        }
        else {
            print "Bes&oslash;g ialt: $antal";
        }

?>
                <div align="center"></div></td>
            </tr>
            <tr>
              <td align="center">Der er nu:
                <?php include("useronline.php"); ?> Online</td>
            </tr>
            <tr>
              <td align="center"><?
function getmicrotime()
    {
      list($usec, $sec) = explode(" ",microtime());
      return ((float)$usec + (float)$sec);
    }

$start = getmicrotime();
?>
                <?
$end = getmicrotime();

$time = $end - $start;

$time = substr($time,0,10);
?>
Load: <b>
<?=$time?>
</b> sek</td>
            </tr>
          </table></td>
        </tr>
      </table>
    </td>
    <td colspan="2" class="middle"><form name="form1" method="get" action="resultat.php">
      <table width="200" border="0" align="right" cellpadding="2" cellspacing="0">
        <tr>
          <td><input name="search" type="text" id="search"></td>
          <td><input type="submit" name="Submit" value="Søg"></td>
        </tr>
      </table>
    </form>
      <p>&nbsp;</p>
      <table width="90%"  border="0" cellpadding="5">
        <tr>
          <td><h1>Forum</h1></td>
        </tr>
        <tr>
          <td><?php
include('config.php');
$name = strip_tags($_POST['name']);
$message = htmlspecialchars($_POST['message']);
$email = strip_tags($_POST['email']);

if (isset($_POST['cookie'])) {
    setcookie('name',$_POST['name'],time()+2592000);
    setcookie('email',$_POST['email'],time()+2592000);
}
if ($_POST['prfm'] == 'new') {
    $header = strip_tags($_POST['header']);
    if (!empty($header) && !empty($name) && !empty($message)) {
        mysql_query("INSERT INTO forum VALUES ('','$header','$name','$email',now(),'$message','')") or die(mysql_error());
        $id = mysql_insert_id();
        header("Location: laes.php?id=$id");
    } else {
        echo '<font color="red">Alle felter er ikke udfyldt!</font>';
    }
}
if ($_POST['prfm'] == 'comment') {
    $parent = $_POST['parent'];
    if (!empty($name) && !empty($message)) {
        mysql_query("INSERT INTO forum VALUES ('','','$name','$email',now(),'$message','$parent')") or die(mysql_error());
        header("Location: laes.php?id=$parent");
    } else {
        echo '<font color="red">Alle felter er ikke udfyldt!</font>';
    }
}
?></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>     
      <p>&nbsp;</p></td>
  </tr>
</table>
<map name="Map">
  <area shape="circle" coords="470,101,15" href="admin/index.php">
  <area shape="circle" coords="437,98,1" href="#">
</map>
</body>
</html>
<?php
mysql_free_result($rsSideindhold);

mysql_free_result($rsSubmenu);
?>


Det er hele koden..
Avatar billede intenz Novice
10. april 2005 - 21:17 #3
header("Location: laes.php?id=$parent");

skal stå før html koden.

Som jpvj skrev skal header sendes inden output til browseren (html)
Avatar billede darkstardk Nybegynder
10. april 2005 - 21:19 #4
Ja, men kan du gøre det for mig ?!
Forstår ik helt om jeg bare kan smide sætningen derop eller ?!
Avatar billede intenz Novice
10. april 2005 - 21:27 #5
Jeg ved ikke helt om det vil give andre problemer i dit script hvis du bare flytter den, men den skal derop.

Sæt i toppen:

if ($_POST['prfm'] == 'comment') {
    $parent = $_POST['parent'];
    if (!empty($name) && !empty($message)) {
        mysql_query("INSERT INTO forum VALUES ('','','$name','$email',now(),'$message','$parent')") or die(mysql_error());
        header("Location: laes.php?id=$parent");
    } else {
        echo '<font color="red">Alle felter er ikke udfyldt!</font>';
    }
}


Hvis du gerne vil have din fejl besked til at stå der hvor den er nu, kan du ændre:
echo '<font color="red">Alle felter er ikke udfyldt!</font>';

til
$error = '<font color="red">Alle felter er ikke udfyldt!</font>';

Og så sætte dette ind hvor du vil have fejlbeskeden.
if (isset($error)) {
echo '<font color="red">Alle felter er ikke udfyldt!</font>';
}
Avatar billede intenz Novice
10. april 2005 - 21:27 #6
hov

if (isset($error)) {
echo '<font color="red">Alle felter er ikke udfyldt!</font>';
}

skal være:

if (isset($error)) {
echo '$error';
}
Avatar billede darkstardk Nybegynder
10. april 2005 - 21:51 #7
Nej dsv det hjalp ikke, mener der er en "header mere", vil blive meget meget glad hvis der er en der bare laer det :D
Eller hvis der er en der gider at forklare det :)
Avatar billede intenz Novice
10. april 2005 - 22:48 #8
Der er en header mere ved:

if ($_POST['prfm'] == 'new') {
    $header = strip_tags($_POST['header']);
    if (!empty($header) && !empty($name) && !empty($message)) {
        mysql_query("INSERT INTO forum VALUES ('','$header','$name','$email',now(),'$message','')") or die(mysql_error());
        $id = mysql_insert_id();
        header("Location: laes.php?id=$id");
    } else {
        echo '<font color="red">Alle felter er ikke udfyldt!</font>';
    }
}


Bare gør det på samme måde. Det er lidt svært bare at lave det hele, da det nok er en del af et større script.

Det er simpelt nok, bare sørg for at alle header(); ligger før html koden.
Avatar billede intenz Novice
10. april 2005 - 22:49 #9
og setcookies skal også flyttes.
Avatar billede intenz Novice
10. april 2005 - 22:52 #10
Prøv koden sådan her:


<?php
$colname_rsSideindhold = "1";
if (isset($_GET['id'])) {
  $colname_rsSideindhold = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_cms, $cms);
$query_rsSideindhold = sprintf("SELECT * FROM sideindhold WHERE id = %s ORDER BY id DESC", $colname_rsSideindhold);
$rsSideindhold = mysql_query($query_rsSideindhold, $cms) or die(mysql_error());
$row_rsSideindhold = mysql_fetch_assoc($rsSideindhold);
$totalRows_rsSideindhold = mysql_num_rows($rsSideindhold);

$colname_rsSubmenu = "1";
if (isset($_GET['mainid'])) {
  $colname_rsSubmenu = (get_magic_quotes_gpc()) ? $_GET['mainid'] : addslashes($_GET['mainid']);
}
mysql_select_db($database_cms, $cms);
$query_rsSubmenu = sprintf("SELECT * FROM sideindhold WHERE mainid = %s", $colname_rsSubmenu);
$rsSubmenu = mysql_query($query_rsSubmenu, $cms) or die(mysql_error());
$row_rsSubmenu = mysql_fetch_assoc($rsSubmenu);
$totalRows_rsSubmenu = mysql_num_rows($rsSubmenu);

include('config.php');
$name = strip_tags($_POST['name']);
$message = htmlspecialchars($_POST['message']);
$email = strip_tags($_POST['email']);

if (isset($_POST['cookie'])) {
    setcookie('name',$_POST['name'],time()+2592000);
    setcookie('email',$_POST['email'],time()+2592000);
}
if ($_POST['prfm'] == 'new') {
    $header = strip_tags($_POST['header']);
    if (!empty($header) && !empty($name) && !empty($message)) {
        mysql_query("INSERT INTO forum VALUES ('','$header','$name','$email',now(),'$message','')") or die(mysql_error());
        $id = mysql_insert_id();
        header("Location: laes.php?id=$id");
    } else {
        $error = '<font color="red">Alle felter er ikke udfyldt!</font>';
    }
}
if ($_POST['prfm'] == 'comment') {
    $parent = $_POST['parent'];
    if (!empty($name) && !empty($message)) {
        mysql_query("INSERT INTO forum VALUES ('','','$name','$email',now(),'$message','$parent')") or die(mysql_error());
        header("Location: laes.php?id=$parent");
    } else {
        $error = '<font color="red">Alle felter er ikke udfyldt!</font>';
    }
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Xplayed.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {color: #7F7F7F}
a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
a:active {
    text-decoration: none;
}
-->
</style>
</head>

<body>
<table width="70%"  border="0" align="left" cellpadding="0" cellspacing="0" class="layout">
  <tr>
    <td colspan="2"><img src="img/banner.gif" width="600" height="150" border="0" usemap="#Map"></td>
    <td width="27%"></td>
  </tr>
  <tr>
    <td width="18%" class="top1"><div align="center" class="style1">
      <?php

$dDagNumMaaned = date('j');
$dMaanedNumAar = date('n');
$dAarNu = date('Y');
$dDagNumUge = date('w');

$dagNavn = array(
    "Søndag",
    "Mandag",
    "Tirsdag",
    "Onsdag",
    "Torsdag",
    "Fredag",
    "Lørdag"
);

$maanedNavn = array(
    "Januar",
    "Februar",
    "Mars",
    "April",
    "Maj",
    "Juni",
    "Juli",
    "August",
    "September",
    "Oktober",
    "November",
    "December"
);

$dagNavn = htmlentities($dagNavn[$dDagNumUge]);
$maanedNavn = htmlentities($maanedNavn[$dMaanedNumAar-1]);

echo "$dagNavn, $dDagNumMaaned $maanedNavn - $dAarNu";
?>
    </div></td>
    <td colspan="2" class="top1"><a href="index.php?id=1&mainid=1">Forside</a> <span class="style1">| <a href="index.php?id=3&mainid=3">Members</a> | </span> <a href="index.php?id=2&mainid=2">Info</a> <span class="style1">|</span> <a href="forum.php">Forum</a> <span class="style1">|</span> <a href="index.php?id=4&mainid=4">Galleri</a> <span class="style1">|</span> <a href="index.php?id=5&mainid=5">Links</a></td>
  </tr>
  <tr>
    <td class="left"><p>&nbsp;</p>
      <?php do { ?>
      <table width="100%"  border="0" cellspacing="0" cellpadding="3">
        <tr>
          <td align="center" valign="top"><a href="index.php?id=<?php echo $row_rsSubmenu['id']; ?>&mainid=<?php echo $row_rsSubmenu['mainid']; ?>"><?php echo $row_rsSubmenu['navn']; ?></a></td>
        </tr>
      </table>
      <?php } while ($row_rsSubmenu = mysql_fetch_assoc($rsSubmenu)); ?>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td class="menu">&nbsp;</td>
            </tr>
          </table>           
            <table width="80%"  border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td><a href="http://www.brokenspirits.dk/" target="_blank"><img src="img/BAnner%20mini.jpg" width="88" height="31" border="0"></a></td>
              </tr>
            </table>            <p>&nbsp;</p>
            <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0" class="info" id=".info">
            <tr>
              <td align="center"><?
    $ip = getenv("REMOTE_ADDR");
    $fil = "count.txt";
    $f = file($fil);
    $antal = count($f);
    $yest = time() - 1800;
    $o = "0";
    $xidag = "f";
    $idag = time();
    $idag2 = date("Y F d, H:i");
        while ($antal > $o) {
            $streg = explode(" ", $f[$o]);
                if ($ip == $streg[0]) {
                $x = "t";
                    if ($streg[1] > $yest) {
                        $xidag = "t";
                    }
                }
            $o++;
        }
        if ($xidag == "f") {
            $logg = fopen("$fil", "a");
            fputs ($logg, "$ip $idag, $idag2\n");
           
            fclose ($logg);
        }
    $f = file($fil);
    $antal = count($f);
        if ($x == "t") {
            print "Bes&oslash;g ialt: $antal";
        }
        else {
            print "Bes&oslash;g ialt: $antal";
        }

?>
                <div align="center"></div></td>
            </tr>
            <tr>
              <td align="center">Der er nu:
                <?php include("useronline.php"); ?> Online</td>
            </tr>
            <tr>
              <td align="center"><?
function getmicrotime()
    {
      list($usec, $sec) = explode(" ",microtime());
      return ((float)$usec + (float)$sec);
    }

$start = getmicrotime();
?>
                <?
$end = getmicrotime();

$time = $end - $start;

$time = substr($time,0,10);
?>
Load: <b>
<?=$time?>
</b> sek</td>
            </tr>
          </table></td>
        </tr>
      </table>
    </td>
    <td colspan="2" class="middle"><form name="form1" method="get" action="resultat.php">
      <table width="200" border="0" align="right" cellpadding="2" cellspacing="0">
        <tr>
          <td><input name="search" type="text" id="search"></td>
          <td><input type="submit" name="Submit" value="Søg"></td>
        </tr>
      </table>
    </form>
      <p>&nbsp;</p>
      <table width="90%"  border="0" cellpadding="5">
        <tr>
          <td><h1>Forum</h1></td>
        </tr>
        <tr>
          <td>
<?php
if (isset($error)) {
print "$error";
}
?>
</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>     
      <p>&nbsp;</p></td>
  </tr>
</table>
<map name="Map">
  <area shape="circle" coords="470,101,15" href="admin/index.php">
  <area shape="circle" coords="437,98,1" href="#">
</map>
</body>
</html>
<?php
mysql_free_result($rsSideindhold);

mysql_free_result($rsSubmenu);
?>
Avatar billede darkstardk Nybegynder
10. april 2005 - 23:03 #11
intenz
smid et svar saa får du points :D
Prøvede mig frem efter lidt inspiration fra dit forslag, så flyttede bare hele lortet op over html'en, og så lavede de der fejlmeddelelser om..
Og så virkede det sku ;D Mange tak
Avatar billede intenz Novice
10. april 2005 - 23:08 #12
Det var da godt, så lærte du også hvad fejlen var i stedet for bare at få det færdigt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester