Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Warning: Cannot modify header information

Hi,
ich hab mal wieder so nen komisches Problem!
Ich hab neulich von funpic.de auf revido.de (werbefrei + Domain) gewechselt.
So, nun hab ich wollen die ganze Seite "rüberladen", hab das soweit auch hinbekommen... doch..

ich hab in meiner Navigation nen Counter installiert, bei Funpic hat der immer funktioniert, warum aber nicht bei Revido.de? wo liegt der Fehler? Es kommt die Meldung
 
 Warning: Cannot modify header information - headers already sent by (output started at /var/www/web267/html/navi.php:5) in /var/www/web267/html/navi.php on line 138


Aber ich check nicht, was das Programm von mir will... bei Funpic war das auch mal der Fall, als meine Datei zu lang war und ich weit unten dran setcookie und header benutzt habe.

Da ist jedenfalls mal der Quellcode:

 

Zitat
<html>
<head>
<link rel="Stylesheet" style="text/css" href="style.css">
<style style="text/css">
<!--
a:link    { color:#000000; text-decoration:none; }
a:visited { color:#000000; text-decoration:none; }
a:hover   { color:orange; text-decoration:none; }
a:active  { color:orange; }
-->
</style>
<script type="text/javascript">
<!--
PisNews = "PisNews";
PisPrev = "PisPrev";
PisRev  = "PisRev";
PisTeam = "PisTeam";
PisGuest = "PisGuest";

function PisShow(BildY) {
 document.getElementById(BildY).style.visibility = "visible";
}

function PisDel(BildY) {
 document.getElementById(BildY).style.visibility = "hidden";
}
-->
</script>
</head>
<body style="margin-right:0; margin-top:0px; background-image:url(pics/navi.PNG); background-repeat:no-repeat; background-attachment:fixed;">
<div align="right">
<table cellpadding="0" cellspacing="0" sytle="text-align:right;">
<TR>
<TD align="right">
  <img src="pics/Pistol.bmp" id="PisNews" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN1" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="news.htm" onMouseOver="PisShow(PisNews);" onMouseOut="PisDel(PisNews);" target="main">News</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/Smg.bmp" id="PisPrev" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN2" onMouseOver="PisShow(PisPrev);" onMouseOut="PisDel(PisPrev);" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="navipreview.htm" target="navi2">Previews</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/Shotgun.bmp" id="PisRev" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN1" onMouseOver="PisShow(PisRev);" onMouseOut="PisDel(PisRev);" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="navireview.htm" target="navi2">Reviews</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/M16.bmp" id="PisTeam" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN2" onMouseOver="PisShow(PisTeam);" onMouseOut="PisDel(PisTeam);" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="Team/team.htm" target="main">Team</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD>

</TD>
<TD>
  <table class="tabN1" style="border-bottom-width:0px; border-right-color:#888888; border-bottom-color:#888888;">
  <TR>
  <TD>
    Members
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD>
</TD>
<TD>
  <table class="tabN2a" style="border-style:solid; border-width:2px; border-color:#888888; border-top-width:0px;">
  <TR>
  <TD>
    <a href="Reviewwrite.htm" target="main">Bericht schreiben</a>
  </TD>
  </TR>
  </table>
<br>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/Grenade.bmp" id="PisGuest" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN2" onMouseOver="PisShow(PisGuest);" onMouseOut="PisDel(PisGuest);" style="border-right-color:#888888; border-bottom-color:#888888;">
  <TR>
  <TD>
    <a href="Guest/guest.php" target="main">Guest</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
</table>
<br>
<span class="name">Visitor No:</span>
<span class="count">
<?php
$Countfile = "counter.txt";
$ip = getenv ("REMOTE_ADDR");
setcookie ("ipsperre",$ip,time()+3600);
if(isset($ipsperre))
{
  if(file_exists($Countfile))
  {
    $Counter = file($Countfile);
    if($Counter[0]<10) echo "00000".$Counter[0];
    elseif($Counter[0]>9 && $Counter[0]<100) echo "0000".$Counter[0];
    elseif($Counter[0]>99 && $Counter[0]<1000) echo "000".$Counter[0];
    elseif($Counter[0]>999 && $Counter[0]<10000) echo "00".$Counter[0];
    elseif($Counter[0]>9999 && $Counter[0]<100000) echo "0".$Counter[0];
    else echo $Counter[0];
  }
  else echo "000000";
}
else
{
  if(file_exists($Countfile))
  {
    $Counter = file($Countfile);
    $Counter[0]++;
    $fp = fopen($Countfile,"w");
    flock($fp,2);
    fputs($fp,$Counter[0]);
    flock($fp,3);
    fclose($fp);
    if($Counter[0]<10) echo "00000".$Counter[0];
    elseif($Counter[0]>9 && $Counter[0]<100) echo "0000".$Counter[0];
    elseif($Counter[0]>99 && $Counter[0]<1000) echo "000".$Counter[0];
    elseif($Counter[0]>999 && $Counter[0]<10000) echo "00".$Counter[0];
    elseif($Counter[0]>9999 && $Counter[0]<100000) echo "0".$Counter[0];
    else echo $Counter[0];
  }
  else echo "000000";
}
?>
</span>
</div>
</body>
</html>

Vielen Dank für's helfen.

Gruß Marcel

Antworten zu Warning: Cannot modify header information:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Du hast dir doch die Antwort schon selber gegeben. Ein Blick in die Dokumentation hätte auch nicht geschadet, da steht nämlich:

setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor jeglicher Ausgabe Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls).

Alles klar? ;)

greez 8)
JoSsiF

 ;) alles klar, danke, ich hab's gefunden, auf der Suche nach ner Antwort bin ich auf das SelfHTML Forum gestoßen.

Danke Danke!!!

Mist...
Ähnlicher Code, anderes Problem...
Ist der Code nicht in Ordnung?

 

Zitat
<html>
<head>
<?php
$Countfile = "counter.txt";
$ip = getenv ("REMOTE_ADDR");
setcookie ("ipsperre",$ip,time()+3600);
if(isset($ipsperre))
{
  if(file_exists($Countfile))
  {
    $Counter = file($Countfile);
    if($Counter[0]<10) $Zahl = "00000".$Counter[0];
    elseif($Counter[0]>9 && $Counter[0]<100) $Zahl = "0000".$Counter[0];
    elseif($Counter[0]>99 && $Counter[0]<1000) $Zahl = "000".$Counter[0];
    elseif($Counter[0]>999 && $Counter[0]<10000) $Zahl = "00".$Counter[0];
    elseif($Counter[0]>9999 && $Counter[0]<100000) $Zahl = "0".$Counter[0];
    else $Zahl = $Counter[0];
  }
  else $Zahl = "000000";
}
else
{
  if(file_exists($Countfile))
  {
    $Counter = file($Countfile);
    $Counter[0]++;
    $fp = fopen($Countfile,"w");
    flock($fp,2);
    fputs($fp,$Counter[0]);
    flock($fp,3);
    fclose($fp);
    if($Counter[0]<10) echo "00000".$Counter[0];
    elseif($Counter[0]>9 && $Counter[0]<100) echo "0000".$Counter[0];
    elseif($Counter[0]>99 && $Counter[0]<1000) echo "000".$Counter[0];
    elseif($Counter[0]>999 && $Counter[0]<10000) echo "00".$Counter[0];
    elseif($Counter[0]>9999 && $Counter[0]<100000) echo "0".$Counter[0];
    else echo $Counter[0];
  }
  else echo "000000";
}
?>
<link rel="Stylesheet" style="text/css" href="style.css">
<style style="text/css">
<!--
a:link    { color:#000000; text-decoration:none; }
a:visited { color:#000000; text-decoration:none; }
a:hover   { color:orange; text-decoration:none; }
a:active  { color:orange; }
-->
</style>
<script type="text/javascript">
<!--
PisNews = "PisNews";
PisPrev = "PisPrev";
PisRev  = "PisRev";
PisTeam = "PisTeam";
PisGuest = "PisGuest";

function PisShow(BildY) {
 document.getElementById(BildY).style.visibility = "visible";
}

function PisDel(BildY) {
 document.getElementById(BildY).style.visibility = "hidden";
}
-->
</script>
</head>
<body style="margin-right:0; margin-top:0px; background-image:url(pics/navi.PNG); background-repeat:no-repeat; background-attachment:fixed;">
<div align="right">
<table cellpadding="0" cellspacing="0" sytle="text-align:right;">
<TR>
<TD align="right">
  <img src="pics/Pistol.bmp" id="PisNews" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN1" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="news.htm" onMouseOver="PisShow(PisNews);" onMouseOut="PisDel(PisNews);" target="main">News</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/Smg.bmp" id="PisPrev" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN2" onMouseOver="PisShow(PisPrev);" onMouseOut="PisDel(PisPrev);" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="navipreview.htm" target="navi2">Previews</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/Shotgun.bmp" id="PisRev" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN1" onMouseOver="PisShow(PisRev);" onMouseOut="PisDel(PisRev);" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="navireview.htm" target="navi2">Reviews</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/M16.bmp" id="PisTeam" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN2" onMouseOver="PisShow(PisTeam);" onMouseOut="PisDel(PisTeam);" style="border-bottom-width:0px; border-right-color:#888888;">
  <TR>
  <TD>
    <a href="Team/team.htm" target="main">Team</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD>

</TD>
<TD>
  <table class="tabN1" style="border-bottom-width:0px; border-right-color:#888888; border-bottom-color:#888888;">
  <TR>
  <TD>
    Members
  </TD>
  </TR>
  </table>
</TD>
</TR>
<TR>
<TD>
</TD>
<TD>
  <table class="tabN2a" style="border-style:solid; border-width:2px; border-color:#888888; border-top-width:0px;">
  <TR>
  <TD>
    <a href="Reviewwrite.htm" target="main">Bericht schreiben</a>
  </TD>
  </TR>
  </table>
<br>
</TD>
</TR>
<TR>
<TD align="right">
  <img src="pics/Grenade.bmp" id="PisGuest" style="visibility:hidden;">
</TD>
<TD>
  <table class="tabN2" onMouseOver="PisShow(PisGuest);" onMouseOut="PisDel(PisGuest);" style="border-right-color:#888888; border-bottom-color:#888888;">
  <TR>
  <TD>
    <a href="Guest/guest.php" target="main">Guest</a>
  </TD>
  </TR>
  </table>
</TD>
</TR>
</table>
<br>
<span class="name">Visitor No:</span>
<span class="count">
<?php
  echo $Zahl;
?>
</span>
</div>
</body>
</html>

hab die navi auf www.terminated-games.de eingefügt... aber der Fehler ist mir schleierhaft

Fehler:

Premature end of script headers: navi.php

hääää?

Gruß Marcel 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hab ehrlich gesagt keine Lust, ständig in solchen langen Skripten nach Fehlern zu wühlen. Zu Beginn fällt aber auf, dass du das mit den Headern und der Ausgabe an der Browser nicht richtig verstanden hast. Allein der Tag <html>, nein, allein schon ein Leerzeichen VOR setcookie() oder anderen Befehlen, die Header senden, rufen Fehler hervor.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das muss dann also nachher so aussehen:

<?php
...
?>

<html>
<head>
...

Wie gesagt, das PHP als ganz-am-aller-anfang-erstes. Was kommt dann für eine Meldung? Und kopiere mal nur die PHP Codes :)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Wenn du unbedingt irgendwelchen Code ausgeben willst (oder vorbeugen willst, dass es zu Fehlern kommt, wenn trotzdem etwas ausgegeben werden sollte vor z.B. setcookie() oder header(), zum Beispiel wenn du Dateien einbindest wo du nicht kontrollieren kannst, dass diese bereits Ausgaben senden), dann benutz einfach den Befehl ob_start().

ob_start() schreibt alle Ausgaben in einen Ausgabepuffer, so kannst du vor allen Anweisungen Code ausgeben und trotzdem alle "Header-Modifier" benutzen. Nachdem du sichergestellt hast, dass ab jetzt alle Befehle wie header() oder setcookie() abgeschlossen sind, kannst du mit ob_end_flush() alles ausgeben.

Aber wichtig: Der Befehl muss wirklich ganz zu Anfang stehen und VOR ob_start() darf dann wirklich KEIN Leerzeichen oder sonstwas stehen.

<?php

   ob_start();

?>
<html>
<head>
....
<?php

   header("xxxxxxx");
   setcookie();

   ob_end_flush();

?>

« Ebay Angebotsgestalltung per HtmlEigene Galerie / Include? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Domain
Ein Internetadresse, zum Beispiel http://www.computerhilfen.de ist folgendermaßen aufgebaut: Zuerst wird das Protokoll (das man beim Surfen auch weglassen kann) ang...

Top Level Domain
Ein Internetadresse, zum Beispiel http://www.computerhilfen.de ist folgendermaßen aufgebaut: Zuerst das Protokoll (das man beim Surfen auch weglassen kann): http://...

Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...