Tannenbaum: Include in HTML, wie?

Hi,

ich bekomme "include file" irgendwie nicht hin. Was mache ich falsch? Danke.

1.html

<html>
<head>
<title></title>
</head>
<body>
<!-- #include file="2.html" -->
</body>
</html>

2.html

<html>
<head>
<title></title>
</head>
<body>
Text
</body>
</html>

  1. Hallo Tannenbaum, <- bischen spät dran, oder? :-)

    ich bekomme "include file" irgendwie nicht hin.

    Definiere "bekomme [...] nicht hin".

    <!-- #include file="2.html" -->

    Lass mal das Leerzeichen zwischen '<!--' und '#include' weg.

    Grüße aus Nürnberg
    Tobias

    1. <!-- #include file="2.html" -->
      Lass mal das Leerzeichen zwischen '<!--' und '#include' weg.

      das hilft leider nicht, wird nicht includiert...

  2. Heyho!

    Mag sein, dass ich mich irre, aber so etwas habe ich noch _nie_ gesehen. Du kannst mit HTML nichts "includen". Du kannst allenfalls ein iFrame dazu benutzen, um eine Seite in einer Seite anzuzeigen.

    Includes gehen nur mit PHP mit dem Befehl include()

    Gruß

    Mastershrimp

    1. Hallo Mastershrimp.

      Mag sein, dass ich mich irre, aber so etwas habe ich noch _nie_ gesehen.

      Dann solltest du einmal einen Blick auf Server Side Includes (SSI) werfen.

      Du kannst mit HTML nichts "includen".

      Korrekt. SHTML ist lediglich eine kleine aber funktionelle Erweiterung.

      Includes gehen nur mit PHP mit dem Befehl include()

      Absolut nicht. Es gibt hunderte von Scriptsprachen, die mehrere Dokumente vor der optionalen Ausgabe zu einem einzigen zusammen führen können.

      Zudem sollte der include-Befehl in PHP-Scripts wirklich nur dann genutzt werden, wenn die einzubindende Datei erforderlichen PHP-Code enthält.
      Andernfalls sollte mit file_get_contents() und readfile() gearbeitet werden, womit man ein potentielles Sicherheitsloch weniger hat.

      Einen schönen Sonntag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      mathbr:del.icio.us/
      1. hallo Ashura,

        Du kannst mit HTML nichts "includen".
        Korrekt. SHTML ist lediglich eine kleine aber funktionelle Erweiterung.

        Inkorrekt. Wenn sie "funktionell" wäre, würde sie ja funktionieren *g*

        Includes gehen nur mit PHP mit dem Befehl include()
        Absolut nicht.

        Korrekt.

        Es gibt hunderte von Scriptsprachen

        Inkorrekt. Es gibt ein paar Dutzend.

        Zudem sollte der include-Befehl in PHP-Scripts wirklich nur dann genutzt werden, wenn die einzubindende Datei erforderlichen PHP-Code enthält.

        Undefined. Es kann durchaus auch bloß ein bißchen HTML sein, oder Javascript, oder irgendwas anderes. Lezten Endes muß der anfordernde Browser was damit anfangen können.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. Hallo Christoph.

          Es gibt hunderte von Scriptsprachen

          Inkorrekt. Es gibt ein paar Dutzend.

          Du kennst alle Scriptsprachen dieser Welt?

          Zudem sollte der include-Befehl in PHP-Scripts wirklich nur dann genutzt werden, wenn die einzubindende Datei erforderlichen PHP-Code enthält.

          Undefined. Es kann durchaus auch bloß ein bißchen HTML sein, oder Javascript, oder irgendwas anderes. Lezten Endes muß der anfordernde Browser was damit anfangen können.

          Was hat das mit meiner Bemerkung zu tun?

          Einen schönen Sonntag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          mathbr:del.icio.us/
          1. hallo Ashura,

            Es gibt hunderte von Scriptsprachen
            Inkorrekt. Es gibt ein paar Dutzend.
            Du kennst alle Scriptsprachen dieser Welt?

            Selbstverständlich - vorausgesetzt, ich habe genügend Holunderwein getrunken.

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
            1. Hallo Christoph.

              Es gibt hunderte von Scriptsprachen
              Inkorrekt. Es gibt ein paar Dutzend.
              Du kennst alle Scriptsprachen dieser Welt?

              Selbstverständlich - vorausgesetzt, ich habe genügend Holunderwein getrunken.

              Ah, gut.
              Dann gib bitte Bescheid, wenn du *die* Sprache gefunden hast.

              Einen schönen Sonntag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              mathbr:del.icio.us/
  3. Hallo Tannenbaum.

    ich bekomme "include file" irgendwie nicht hin. Was mache ich falsch? Danke.

    Der Syntax zu Folge versuchst du dich an SSI.

    Hast du die erforderlichen Schritte unternommen, um es nutzen zu können?

    Ist SSI auf deinem Webspace überhaupt möglich?

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/
  4. hallo Tannenbaum,

    ich bekomme "include file" irgendwie nicht hin. Was mache ich falsch?

    Was dir Tobias geschrieben hat, ist zu beachten. Kombiniere es mit der Anmerkung von Ashura, und du hast den Lösungsansatz:
    1. muß dein Server entsprechend konfiguriert sein
    2. muß die Anweisung korrekt geschrieben werden.
    3. ist es Unsinn, eine "leere" Datei wie deine "2.html" einbinden zu wollen. Die HTML-Elemente <html>, <head>, <title> und <body> hast du ja schon in "1.html" stehen, also sollten sie möglichst nicht "verdoppelt" werden. Worauf es allerdings ankommt, nämlich irgendwelchen Dateiinhalt - und sei es auch nur ein "hallo Welt!" - , hast du überhaupt nicht angegeben. Was also soll dir denn deine eingebundene "2.html" überhaupt zeigen, und woraus schließt du, daß du es "nicht hinbekommst"? Weil du das, was du sowieso nicht zur Anzeige vorgesehen hast, auch ganz brav nicht angezeigt bekommst? Beachte bitte: solange du beim Aufruf keine Fehlermeldung unmittelbar im Browser und auch im zugehörigen Server-log finden kannst, ist dein SSI tatsächlich ausgeführt worden. Aber: wenn du nichts angibst, wird dir dieses nichts eben auch angezeigt und du siehst, wie du es gewünscht hast, im Browser eben - nichts.

    Zusätzlich kann ich dir die Lektüre von http://de.selfhtml.org/servercgi/server/ssi.htm empfehlen - tststs, auf diese Empfehlung ist noch keinr der anderen Diskussionsteilnehmer gekommen.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
  5. Tag Tannenbaum.

    ich bekomme "include file" irgendwie nicht hin. Was mache ich falsch?
    1.html

    In nahezu 100% der Fälle muss eine entsprechende Ressource die Eindung "shtml" haben. Zwar kann man das auch anders konfigurieren, benötigt dafür aber entsprechende Zugriffsrechte auf den Webserver, die man meist nicht hat.

    <!-- #include file="2.html" -->

    Zunächst darf zwischen dem Kommentarzeichen und der Raute kein Leerzeichen sein. Liegt "2.html" auch da, wo sie sich laut deiner Notation befinden soll? So, wie du es geschrieben hast, muss sie sich dort befinden, wo auch die einbindende Ressource liegt. Übrigens, wenn bei SSI etwas schief geht, wird es direkt dort angezeigt, wo eigentlich das stehen sollte, was du einbinden willst, alternativ schau ins Errorlog.

    2.html

    Dass du bei erfolgreichem Includieren eine ungültige HTML-Seite bekommst, wurde dir ja schon gesagt. Zwar hat das nichts damit zu tun, ob SSI funktioniert oder nicht, aber ein sinnvolles Ergebnis sollte schon dabei herauskommen, oder?

    Siechfred