Chris: Einfügen von Überschriften per Include

Hallo,

ich habe zwei PHP-Dateien. Eine header.php und eine footer.php Dazwischen sollen nun die einzelnen Seiten der Homepage stehen. Bisher habe ich folgendes gemacht, dass die einzelne Seite die Include-Befehle zu header.php und footer.php gesetzt. Doch Nun habe ich ein Problem, die Überschrift der einzelnen Seiten soll in der Header.php included werden. Wie geht dass?
Die Header.php muss erkennen aus welcher Datei Sie die Überschrift includen muss.

Vielleicht gibt es auch eine andere Idee?

Gruß
Chris

  1. Hallo Chris,

    wird irgeneine Funktion aufgerufen, die den Header schreibt, oder ist der Inhalt von header.php nur ein Snippet?
    In letzterem Fall pack ihn in eine Funktion und uebergib dieser den Namen der Ueberschriftendatei.

    Dieter

    1. Hallo Chris,

      wird irgeneine Funktion aufgerufen, die den Header schreibt, oder ist der Inhalt von header.php nur ein Snippet?

      Der Code ist nur Snippet.

      In letzterem Fall pack ihn in eine Funktion und uebergib dieser den Namen der Ueberschriftendatei.

      Ich habe mehrere Seiten wie Impressum, Kontakt, Bilder, etc. dazu soll die header.php automatisch die Überschrift includen. Die Überschrift soll aus einer Zeile der Seiten (Impressum, Kontakt,...) entnommen werden. Problem wäre, wie bekomme ich das geregelt, dass die header.php weiß wie die Datei heißt, aus der die Überschrift included wird? Die header.php wird ja durch die Seite (Impressum, Kontakt,...) includet. Nun kann das die header.php feststellen, welche Datei gerade sie benutzt?

      Gruß
      Chris

      1. Hallo,

        Ich habe mehrere Seiten wie Impressum, Kontakt, Bilder, etc. dazu soll die header.php automatisch die Überschrift includen. Die Überschrift soll aus einer Zeile der Seiten (Impressum, Kontakt,...) entnommen werden. Problem wäre, wie bekomme ich das geregelt, dass die header.php weiß wie die Datei heißt, aus der die Überschrift included wird? Die header.php wird ja durch die Seite (Impressum, Kontakt,...) includet. Nun kann das die header.php feststellen, welche Datei gerade sie benutzt?

        Also ich mache das so:
        // Das kommt in die Datei Impressum:
        <?php
        $title = 'Impressum';
        include("head.php");

        // Ganz viel Impressum

        include("foot.php");
        ?>

        // Das kommt in die Datei head.php
        // Alles mögliche was vor <title> kommt
        <title><?php echo $title ?> - Vivos O Muertos</title>
        // Alles mögliche was nach <title> kommt

        Grüße
        Jeena Paradies

        --
        Alkoholverbot in der gesammten Bamberger Innenstadt!
        http://www.jeenaparadies.de/alkoholverbot.htm
        1. Hallo Jeena,

          Also ich mache das so:
          // Das kommt in die Datei Impressum:
          <?php
          $title = 'Impressum';
          include("head.php");

          // Ganz viel Impressum

          include("foot.php");
          ?>

          IMHO eleganter:

          <?php
            $title
            ob_start();
          ?>
          <p>Ganz viel Impressum</p>
          <?php
            $inhalt = ob_get_clean();
            include('template.php');
          ?>

          Das kommt in die Datei template.php

          ...
          <title><?php echo $title ?></title>
          ...
          <body>
          <?php echo $inhalt ?>
          </body>
          ...

          Schöne Grüße,

          Johannes

          --
          ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
          http://www.zeller-johannes.de/
          1. Hallo,

            <?php
              $title
              ob_start();
            ?>
            <p>Ganz viel Impressum</p>
            <?php
              $inhalt = ob_get_clean();
              include('template.php');
            ?>

            Das kommt in die Datei template.php

            ...
            <title><?php echo $title ?></title>
            ...
            <body>
            <?php echo $inhalt ?>
            </body>
            ...

            So etwas kannte ich noch nicht, danke für den Tipp.

            Grüße
            Jeena Paradies

            --
            Alkoholverbot in der gesammten Bamberger Innenstadt!
            http://www.jeenaparadies.de/alkoholverbot.htm
            1. Hallo Jeena,

              So etwas kannte ich noch nicht, danke für den Tipp.

              Noch zwei Links, dich gestern Abend vergessen hab:

              http://www.schierge.de/tobias/entwicklung/php-templates/ und
              http://www.php.net/manual/en/ref.outcontrol.php bzw.

              Schöne Grüße,

              Johannes

              --
              ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
              http://www.zeller-johannes.de/
              1. Hallo,

                http://www.schierge.de/tobias/entwicklung/php-templates/ und
                http://www.php.net/manual/en/ref.outcontrol.php bzw.

                Da habe ich jetzt noch ein Problem bei dieser Art der Lösung. Bisher - also mit foot.php - konnte ich MySQL Fehler so auffangen:
                -------------------------------------
                     if (mysql_errno() == 1062)
                      {
                       echo "<h2>Du scheinst Die Nachricht aus Versehen zwei mal abschicken zu wollen.</h2>";
                       include("foot.tpl");
                   mysql_close();
                       die;
                      }
                -------------------------------------
                Wenn ich dann jetzt aber keine foot.tpl mehr habe, sondern das Script an dieser Stelle einfach abbricht dann habe kriegt der Browser den unteren Teil der Datei nicht mehr und das sieht scheiße aus. Irgendwie komme ich nicht drauf wie ich das anders lösen könnte. Hast du vieleicht noch einen Tipp?

                Grüße
                Jeena Paradies

                --
                Alkoholverbot in der gesammten Bamberger Innenstadt!
                http://www.jeenaparadies.de/alkoholverbot.htm