Adrian: header() wird nicht ausgeführt

Hallo!

Was ist hieran nun falsch? Die Datei wird ganz normal angezeigt, als ob kein PHP ausgeführt worden wäre, allerdings steht kein PHP-Code mehr in dem Quelltext des Browsers... :?

  
<?php  
  
  //Standardlayout, das beim Besuchen ohne Cookie geöffnet wird  
  $standardlayout = "gold";  
  //Ort der aktuellen Datei  
  $location = "http://oeftiger.germanclanzone.de";  
  
  //Neues Layout einstellen bei erneutem Aufruf mit neuem Layout  
  if(isset($newlayout) and isset($origin)) {  
  setcookie("layout_cookie",$newlayout);  
  header("Location: $location/sites/$origin?layout=layout_$newlayout");  
  }  
  
  //Layout laden beim ersten Aufruf der Seite  
  if(!$_COOKIE["layout_cookie"]) {  
  header("Location: $location/sites/home.php?layout=layout_" + $standardlayout);  
  }  
  else {  
  header("Location: $location/sites/home.php?layout=layout_" + $_COOKIE["layout_cookie"]);  
  }  
  
 ?>  

~~~~~~html
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<!-- ERSTELLT MIT PSPad -->  
<!-- Homepage: Copyright 2005 by Adrian Oeftiger | Beta-Version-->  
<html xmlns="http://www.w3.org/1999/xhtml">  
  <head>  
    <title>Oeftiger</title>  
  </head>  
  <body>  
  PHP-Fehler:<br><br>  
  Wenn Sie diese Fehlermeldung erhalten, wurde die<br>  
  PHP-Anweisung f&uuml;r Layouteinstellungen nicht ausgef&uuml;hrt...<br>  
  Bitte neu laden!<br><br>  
  Falls Sie nach erneutem Laden diesen Schriftzug immer noch<br>  
  sehen, wird gerade an der Datei gearbeitet.<br>  
  Der Autor bittet um Verst&auml;ndnis für Verz&ouml;gerungen...<br><br>  
  Adrian Oeftiger  
  </body>  
</html>  

Mit freundlichen Grüßen,
Adrian

  1. Adrian,
    Wenn du XHTML verwendest, solltest du dir über die Unterschiede zwischen XHTML und HTML klar sein, des bei leeren Elementen etwa.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Hallo!

      Danke... ;) aber was ist denn nun mit dem PHP?

      Mit freundlichen Grüßen,
      Adrian

      1. Hallo!

        Okay, hab den Code umgeändert, jetzt passt es:

          
        <?php  
          
          //Standardlayout, das beim Besuchen ohne Cookie geöffnet wird  
          $standardlayout = "gold";  
          //Ort der aktuellen Datei  
          $location = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);  
          
          //Neues Layout einstellen bei erneutem Aufruf mit neuem Layout  
          if(isset($newlayout) and isset($origin)) {  
          setcookie("layout_cookie",$newlayout);  
          header("Location: ".$location."/sites/$origin?layout=layout_$newlayout");  
          }  
          
          //Layout laden beim ersten Aufruf der Seite  
          if(!$_COOKIE['layout_cookie']) {  
          header("Location: ".$location."/sites/home.php?layout=layout_$standardlayout");  
          }  
          else {  
          header("Location: ".$location."/sites/home.php?layout=layout_".$_COOKIE['layout_cookie']);  
          }  
          
         ?>  
        
        

        Mit freundlichen Grüßen,
        Adrian

  2. echo $begrüßung;

    Was ist hieran nun falsch?

    Ich kann keinen offensichtlichen Fehler finden, und deshalb nur allgemeine Hinweise geben:

    • Stelle das Error Reporting auf E_ALL! Gibt es Meldungen?
    • Überprüfe den Inhalt der Variablen mit dem von dir erwarteten Wert! var_dump(), echo, ...
    • Prüfe ob die bedingen Programmteile erreicht werden! Füge Kontrollausgaben ein! Dann wird sich zwar das setcookie/header beschweren, weil schon Ausgaben stattfanden, das ist aber für den Prüfzweck egal. Werte aus, was die Funktionen (die das tun) für Fehlerstatus/-meldungen zurückgeben.

    echo "$verabschiedung $name";