Schteffu: include() und html

Hilfe

ich will eine "Header.inc.php"-Datei in eine html-Seite includen. Die Idee dafür wäre, dass ich den Header nur einmal generieren muss und danach auf jeder einzelnen html-Seite aufrufen kann. Den Code dafür habe ich:

<?php
include("header.inc.php");
?>

<html>
.
.
.
</html>

Mein Problem ist nun, dass sämtliche Formatierungen des HTML-Codes (bgcolor, fontface usw.) auf für die Datei "header.inc.php" übernommen werden. Somit wird der Header auf jeder Seite auch geändert...wie kann ich dieses Problem lösen?

  1. hi,

    ... dass sämtliche Formatierungen des HTML-Codes (bgcolor, fontface usw.)

    Diese "Formatierungen" sind sowieso "alter Stil". Mach deine Foramtierungen mit CSS, dann steht das sowieso im Header, wo es auch hingehört  -  oder in einer externen CSS. Außerdem ist es doch gut, wenn deine Seiten gleichmäßig formatiert werden, das sollte in einem Projekt doch immer der Fall sein.

    Christoph S.

  2. Guten Morgen,

    <?php
    include("header.inc.php");
    ?>

    <html>
    .
    .
    .
    </html>

    Dein Probelm sieht so aus, als ob Du nachher zweimal <html> in Deiner Datei drinstehen hast, oder?
    Oder handelt es sich bei der Inclusion tatsächlich um Zeilen, die einen HTTP-Heder erzeugen sollen? Die produzieren ja sowieso keine sichtbae Ausgabe!

    Wenn die Codezeilen in header.inc.php keinen PHP-Code enthalten, ist include() sowieso die falsche Anweisung. Dann sollte man readfile() oder file() oder fread() oder die neueren Funktionen ab PHP 4.3.x hierfür verwenden. Mit include wird der Code immer auf Ausführbare Elemente geparst, was auch ggf. eine Sicherheitslücke darstellen kann.

    Grüße

    Tom