Hartmut Riedel: Einbindung von Wiederholungen...

Hallo liebe Leute,

wenn ich´s richtig verstanden habe, soll man ja Frames möglichst nicht verwenden.
Gibt es denn eine andere Möglichkeit, mit HTML sich wiederholende Elemente (Navigationsbereich...) nur einmal zu erstellen und in alle Seiten einzubinden? So im Stil von
<hier soll der Inhalt der Datei mit dem Quelltext des Navigationsbereiches stehen>
...?

Schon mal Danke für Eure Hilfe,

Hartmut

  1. Nein leider geht das mit HTML nicht.
    Dazu brauchst du eine serverseitige Technik wie z.B.: Server Side Includes oder PHP.
    lg Gerhard

    1. Nein leider geht das mit HTML nicht.
      Dazu brauchst du eine serverseitige Technik wie z.B.: Server Side Includes oder PHP.
      lg Gerhard

      Schade, hab jetzt nicht die Zeit, mich in PHP einzuarbeiten... Na, dann mach ich´s über Copy/Paste.

      Aber vielen Dank für die schnelle Antwort!

      Hartmut

      1. Schade, hab jetzt nicht die Zeit, mich in PHP einzuarbeiten... Na, dann mach ich´s über Copy/Paste.

        Dazu brauchst Du nicht wirklich Zeit zum Einarbeiten. Wenn Du einen Serevr hast, in dem PHP funktioniert, dann ist das nur eine einzige Zeile, die Du einfügst. PHP können musst Du nicht. Das selbst installieren von PHP und im Server zum Laufen bringen ist schwieriger, als der Include-Befehl. :-)

        <?php include($_SERVER"DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

        Auch relative Pfade sollten gehen, wenn ich richtig informiert bin.

        1. Hi,

          <?php include($_SERVER"DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

          Nur, falls jemand auf die Copy&Paste-Idee kommen sollte, hier die korrekte Version:

          <?php include($_SERVER["DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

          Und für alle DAU's die eh Mist bauen: Euer HTML-Editor beherrscht "Gemeinsame Randbereiche"*

          E7

          * Na gut, ich geb's ja zu, dass Word das nicht kann, aber so extreme DAU's werden kaum in diesem Forum lesen... Aber Frontpage :-(

          1. Hallo e7.

            Nur, falls jemand auf die Copy&Paste-Idee kommen sollte, hier die korrekte Version:

            <?php include($_SERVER["DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

            Wozu die Klammern?

            Einen schönen Donnerstag noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
            Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. Hi,

              <?php include($_SERVER["DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

              Wozu die Klammern?

              die waren im Posting drüber auch schon drin...

              include() an sich ist ja eine Art Funktion wie unlink(), dann sind die Klammern gar nicht mal so verkehrt... Und echo() müsste man theoretisch auch mit Klammern schreiben ;-)

              E7

              1. Hallo e7.

                include() an sich ist ja eine Art Funktion wie unlink(), dann sind die Klammern gar nicht mal so verkehrt... Und echo() müsste man theoretisch auch mit Klammern schreiben ;-)

                Ich zitiere das Handbuch:

                „echo() ist keine Funktion, sondern ein Sprach-Konstrukt, deshalb müssen Sie keine Klammern verwenden. [...]“

                Theorie und Praxis, nicht wahr? ;-)

                Einen schönen Donnerstag noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
                1. Hi,

                  Theorie und Praxis, nicht wahr? ;-)

                  ja, Ausnahmeregeln... Das ist es auch, was mich an solchen Sprachen am meisten nervt... In VisualBasic ist sowieso jede Funktion oder Variable eine Ausnahme, die anders aufgerufen/angesprochen wird, aber PHP ist da recht nett, da gibt's so was fast nicht...

                  Naja, und Assembler ist wohl mit Abstand die logischste Sprache, aber lassen wir das mal ;-)

                  E7

            2. <?php include($_SERVER["DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

              Wozu die Klammern?

              Gehörst Du auch zu denen, die bei JavaScript NICHT ans Ende jeder Zeile ein Semikolon setzen?

              1. Hallo Efchen.

                <?php include($_SERVER["DOCUMENT_ROOT"]."/pfad/zur/zu/includenden/datei"); ?>

                Wozu die Klammern?

                Gehörst Du auch zu denen, die bei JavaScript NICHT ans Ende jeder Zeile ein Semikolon setzen?

                Nein. Warum?

                Einen schönen Freitag noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
          2. DAU's

            e7,
            Du bist an Apostrophitis erkrankt? Gute Besserung.

            Du meinst DAWs?

            Live long and prosper,
            Gunnar

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

        Schade, hab jetzt nicht die Zeit, mich in PHP einzuarbeiten... Na, dann mach ich´s über Copy/Paste.

        das ist bei einer kleinen Anzahl von Seiten auch durchaus ausreichend.

        Problematisch wird es nur, wenn du deine Navigation ändern möchtest. Dann musst du in jeder Datei die Änderungen vornehmen.

        MfG Hopsel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        1. Hallo Hopsel.

          Problematisch wird es nur, wenn du deine Navigation ändern möchtest. Dann musst du in jeder Datei die Änderungen vornehmen.

          Mit einem Editor, der dateiübergreifendes Search-and-Replace beherrscht, ist dies innerhalb weniger Sekunden erledigt.

          Einen schönen Donnerstag noch.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
          30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
          Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
          [Deshalb frei! - Argumente pro freie Software]
      3. Ach ja, der Vollständigkeit halber, mit SSI sieht es so aus:

        <!--#include virtual="/pfad/zur/zu/includenden/datei"-->

        1. Ach ja, der Vollständigkeit halber, mit SSI sieht es so aus:

          <!--#include virtual="/pfad/zur/zu/includenden/datei"-->

          ?!? Das sieht ja ganz einfach aus. Ich nehme mal an, dass SSI "Server Side Includes" heißt. Was heißt denn das ... ;-)
          Sehe ich das richtig, dass - wenn auf dem Server, auf dem ich meine Seiten ablege SSI geht - dass ich nur noch die entsprechende <!--#include ...> einfügen muss?
          Woher weiß ich denn, ob SSI bei mir geht (außer durch hochladen & ausprobieren, aber das kann ich nicht von überall (bin hier hinter ner Firewall)).

          Hartmut

          1. <!--#include virtual="/pfad/zur/zu/includenden/datei"-->

            ?!? Das sieht ja ganz einfach aus. Ich nehme mal an, dass SSI "Server Side Includes" heißt. Was heißt denn das ... ;-)

            Was soll mir der SMiley im Zusammenhang mit der Frage sagen?

            Sehe ich das richtig, dass - wenn auf dem Server, auf dem ich meine Seiten ablege SSI geht - dass ich nur noch die entsprechende <!--#include ...> einfügen muss?

            Und Deine Datei muss die richtige Dateiendung haben, siehe Serverkonfiguration (üblicherweise ist das .shtml, muss aber nicht. Das sagt Dir Dein Provider).

            Woher weiß ich denn, ob SSI bei mir geht (außer durch hochladen & ausprobieren, aber das kann ich nicht von überall (bin hier hinter ner Firewall)).

            Frage Deinen Provider oder schau in seine FAQ oder lies die Beschreibung Deines Webspace-Pakets.

          2. Hallo Hartmut,

            Sehe ich das richtig, dass - wenn auf dem Server, auf dem ich meine Seiten ablege SSI geht - dass ich nur noch die entsprechende <!--#include ...> einfügen muss?

            Ja. Zu einigen Infos zu SSI siehe http://de.selfhtml.org/servercgi/server/ssi.htm

            Gruss aus Luzern,
            Daniel

        2. Hi,

          Ach ja, der Vollständigkeit halber, mit SSI sieht es so aus:

          nicht nur der Vollständigkeit halber ... Wenn PHP zur Verfügung steht, ist i.d.R. auch SSI verfügbar - anders herum nicht unbedingt. Und nur wegen einem Include gleich alle Seiten durch den PHP-Parser zu schicken, ist doch wirklich nicht ratsam, oder?

          freundliche Grüße
          Ingo

          1. Wenn PHP zur Verfügung steht, ist i.d.R. auch SSI verfügbar - anders herum nicht unbedingt.

            Immer diese Pauschalisierungen :-)
            Beide sind voneinander unabhängig.

            Und nur wegen einem Include gleich alle Seiten durch den PHP-Parser zu schicken, ist doch wirklich nicht ratsam, oder?

            Wo ist der Unterschied zu SSI? Da muss doch das gleiche passieren. Der eine sucht nach "<?php", der andere nach "<!--#". Der Aufwand ist der gleiche, oder?

            1. Hi,

              Wo ist der Unterschied zu SSI? Da muss doch das gleiche passieren. Der eine sucht nach "<?php", der andere nach "<!--#". Der Aufwand ist der gleiche, oder?

              Soweit ich weiß nicht. SSI wird doch vom Apache direkt ausgeführt und nicht erst an den PHP-Interpreter weitergereicht, oder? Das wäre auch einer der Gründe, warum manche Hoster SSI zulassen, PHP aber nicht.

              freundliche Grüße
              Ingo

              1. Wo ist der Unterschied zu SSI? Da muss doch das gleiche passieren. Der eine sucht nach "<?php", der andere nach "<!--#". Der Aufwand ist der gleiche, oder?
                Soweit ich weiß nicht. SSI wird doch vom Apache direkt ausgeführt und nicht erst an den PHP-Interpreter weitergereicht, oder? Das wäre auch einer der Gründe, warum manche Hoster SSI zulassen, PHP aber nicht.

                Ich dachte, PHP wird auch als Modul in den Server integriert. Damit ist der Aufruf von SSI und PHP wiederum der gleiche. Die aufgerufene Funktion liegt nur in einem anderen Modul.

                Bei CGI ist das anders, da kommuniziert der Server mit einem anderen Programm über eine externe Schnittstelle. Dass das langsamer ist, ist wohl klar.

                Ich weiß es eben selber nicht 100%, deswegen habe ich gefragt. Mich würde das einfach interessieren.

    2. Gibt es denn eine andere Möglichkeit, mit HTML sich wiederholende Elemente (Navigationsbereich...) nur einmal zu erstellen und in alle Seiten einzubinden?

      Nein leider geht das mit HTML nicht.

      Doch, Gerhard.

      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" [  
        <!ENTITY foo SYSTEM "foo.inc">  
      ]>  
      <html>  
        <head>  
          <title>Include mit HTML</title>  
        </head>  
        <body>  
          &foo;  
        </body>  
      </html>
      

      Das dumme ist nur, dass es keinen Browser (und das schließt Browser[tm] ein) gibt, der HTML versteht. Siehe Anmerkung der Übersetzer in [HTML401@de §B.3.3]

      Live long and prosper,
      Gunnar

      --
      „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
  2. Ich hab das früher ohne PHP noch mit Javascript gemacht... Also ein Javascript mit document.write und den Inhalten extern gespeichert und auf diversen Seiten eingebunden. Ist aber nicht wirklich ratsam, weil die Besucher, die JS (warum auch immer) deaktiviert haben, dann gar nix sehen.