Ankündigung

Einklappen
Keine Ankündigung bisher.

html Datei in allen Seiten inkludieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • html Datei in allen Seiten inkludieren

    Guten Mittag zusammen,

    im PHP gibt es ja die Möglichkeit per
    PHP-Code:
    <?php include("seite.php"); ?>
    eine Seite an einer bestimmten Stelle einzufügen. Gibt es diese Möglichkeit auch im HTML? Sodass ich eine "seite.html" in alle anderen Seiten mit einem einzigen Code integrieren kann, sodass ich lediglich die "seite.html" ändern muss und in allen Seiten der Inhalt dann geändert wird.. möchte nicht in allen 100 Html Seiten jedes Mal alles ändern müssen

    Danke für eure Hilfe im Voraus.. LG Wilhelm


  • #2
    Nein. PHP ist eine Programmiersprache, HTML dagegen nur ein Auszeichnungssprache. Ändere doch die Dateien in PHP um. Mit einem gescheiten Programm ist das in wenigen Sekunden erledigt.

    Kommentar


    • #3
      HTML-Code:
      <!DOCTYPE html>
      <html lang=de>
        <meta charset=UTF-8>
        <title>Document</title>
       <h1>Test</h1>
        <iframe src=myinclude.htm onload="this.before((this.contentDocument.body||this.contentDocument).children[0]);this.remove()"></iframe>
       <p>voila</p>
      myinclude.htm:
      HTML-Code:
      <h2>ich bin importiert!!</h2>

      Kommentar


      • #4
        kann ich auch einfach den Befehl
        PHP-Code:
        <?php include("seite.php"); ?>
        in jeder html Seite einbinden und dann alle HTML Seiten von xy.html in xy.php umbenennen?

        LG Wilhelm

        Kommentar


        • #5
          Danke Zorro, nur leider wird bei deiner Variante der Inhalt als Frame eingebunden.. ich möchte z.B. den header einmalig schreiben und per include überall einbinden.. das geht dann so nicht mit frame.

          Kommentar


          • #6
            WilhelmBurkard bevor man etwas schreibt, sollte man #3 ausprobieren, von Header war in #1 keine Rede.

            Kommentar


            • #7
              kann ich auch einfach den Befehl

              PHP-Code:
              <?php include("seite.php"); ?>
              in jeder html Seite einbinden und dann alle HTML Seiten von xy.html in xy.php umbenennen?

              LG Wilhelm

              Kommentar


              • #8
                Zitat von WilhelmBurkard Beitrag anzeigen
                kann ich auch einfach den Befehl

                PHP-Code:
                <?php include("seite.php"); ?>
                in jeder html Seite einbinden und dann alle HTML Seiten von xy.html in xy.php umbenennen?
                Warum probierst du es nicht einfach aus?

                Kommentar


                • #9
                  Auch wenn es inzwischen über ein Jahr her ist, wäre die Frage, ob das "Problem" inzwischen gelöst wurde?

                  Man könnte einiges mit PHP machen. zum Beispiel mit
                  PHP-Code:
                  <?php
                  switch($_SERVER['QUERY_STRING'])
                  {
                   case 
                  'beispiel1': print 'Beispiel 1'; break;
                   case 
                  'beispiel2': print 'Beispiel 2'; break;
                   case 
                  'beispiel3': print 'Beispiel 3'; break;
                   default: print 
                  'Anderes Beispiel'; break;
                  }
                  ?>
                  Aufrufbar mit /?beispiel1 oder
                  PHP-Code:
                  <?php
                  switch($_GET['seite'])
                  {
                   case 
                  'beispiel1': print 'Beispiel 1'; break;
                   case 
                  'beispiel2': print 'Beispiel 2'; break;
                   case 
                  'beispiel3': print 'Beispiel 3'; break;
                   default: print 
                  'Anderes Beispiel'; break;
                  }
                  ?>
                  Aufrufbar mit /?seite=beispiel1
                  print kann natürlich mit include() ersetzt werden, wenn PHP-Dateien eingebunden werden sollen

                  Beispiel ohne das HTML-Gerüst
                  PHP-Code:
                  <?php
                  switch($_GET['seite'])
                  {
                   case 
                  'home': include 'start.php'; break;
                   case 
                  'kontakt': include 'kontakt.php'; break;
                   case 
                  'impressum': include 'impressum.php'; break;
                   default: include 
                  'start.php'; break;
                  }
                  ?>
                  Server Side Includes Variante

                  Natürlich könnte man auch SSI (Server Side Includes) statt PHP verwenden, wenn nichts mit PHP gemacht wird.
                  Der Webserver muss SSI noch unterstützen, in der Regel ist bei dem Apache Webserver SSI vorhanden

                  Dies muss in der .htaccess rein
                  Code:
                  Options +ExecCGI -Indexes +Includes
                  AddType text/html .shtml
                  AddOutputFilter INCLUDES .shtml
                  DirectoryIndex index.shtml
                  XBitHack on
                  Hier ein Beispiel (index.shtml)
                  Hinweis: alle *.shtml-Dateien müssen ausführbar gemacht werden, sonst wird nichts ausgeführt.
                  HTML-Code:
                  <!--#if expr='v("QUERY_STRING") = "beispielseite"' -->
                  <!--#include virtual="beispielseite.shtml" -->
                  
                  <!--#elif expr='v("QUERY_STRING") = "impressum"' -->
                  <!--#include virtual="impressum.shtml" -->
                  <!--#else-->
                  
                  <!--#include virtual="start.shtml" -->
                  <!--#endif -->
                  Aufrufbar mit ?beispielseite oder ?impressum
                  Wenn kein Parameter angegeben wurde, dann wird die start.shtml aufgerufen.

                  ASP-Variante

                  Voraussetzung: Internet Informations Dienste

                  Beispiel: index.aspx
                  Visual Basic Script
                  , getestet mit IIS 10
                  HTML-Code:
                  <% session("seite") = request.querystring("seite") %>
                  <%if (session("seite") = "beispielseite") then %>
                  <!--#include file="beispielseite.aspx"-->
                  <%else if (session("seite") = "impressum") then %>
                  <!--#include file="impressum.aspx"-->
                  <% else %>
                  <!--#include file="start.aspx"-->
                  <% end if %>
                  Aufrufbar mit ?seite=beispielseite oder ?seite=impressum
                  Wenn kein Parameter angegeben wurde, dann wird die start.aspx aufgerufen.
                  Grüße Paderman

                  Kommentar


                  • #10
                    nutze doch einfach einen router wie fastroute

                    Kommentar


                    • #11
                      Zitat von tomBuilder Beitrag anzeigen
                      nutze doch einfach einen router wie fastroute
                      Hättest du ein Beispiel oder weitere Infos?
                      Ich muss gestehen dass ich dies noch nicht kenne
                      Grüße Paderman

                      Kommentar


                      • #12
                        google.com/search?q=php+router+library

                        das wilde includieren nutzen wohl die meisten anfangs - ich auch.

                        es wird nur bald unübersichtlich und schwer wartbar, zudem ist es einfach nicht felxilbel.

                        ein router functiniert einfach:

                        die anfrage wird auf "/" (oder ein andres routverzeichniss) weitergeleitet.

                        an diesem zentralen einsteigpunkt entscheidet ein process welche routine(n) aufgerufen werden müssen um deoi entsprechende seite zu präsentieren.

                        sorry schiftlich erklären kann ich so gar nicht .

                        link?


                        https://en.wikipedia.org/wiki/Front_controller

                        Kommentar


                        • #13
                          doppelpost

                          Kommentar


                          • #14
                            das wilde includieren nutzen wohl die meisten anfangs - ich auch.

                            es wird nur bald unübersichtlich und schwer wartbar, zudem ist es einfach nicht felxilbel.
                            Mein zweites Website-Projekt schreibe ich in PHP, weil ich diesmal eine dynamische Website erstellen wollte, mit all den Möglichkeiten die eine dynamische im Gegensatz zu einer statischen (mein erstes Projekt) bietet.
                            Der include Befehl ist großartig und erspart einem unendlich viel Arbeit. Das ist (unter anderem) das, was ich bei reinem HTML/CSS vermisst habe.
                            Noch ist es bei mir übersichtlich und wartbar. Aber egal wie man es handhabt. Wird die Website größer, wird sie egal mit welcher Technik unübersichtlicher und schwerer wartbar.

                            Dein „Routeransatz“ ist bestimmt interessant. Aber als PHP Anfänger sieht das (jedenfalls für mich) komplex aus.

                            Wer wie Wilhelm wiederkehrende HTML Elemente in verschiedenen Webseiten includieren möchte, sollte sein Projekt von Anfang an in PHP schreiben oder ein Content-Management-System benutzen.
                            Und ich meine nicht das allseits bekannte WordPress Monster. Es gibt viele wunderbare Static-Site-Generatoren, die einem auch sehr viel Arbeit abnehmen können. Freilich, etwas Einarbeitung erfordern die auch.
                            Aber man bleibt damit flexibel. Ich arbeite nach wie vor sehr gerne mit Jekyll. Das ist aus meiner Sicht der Einsteiger-freundlichste Static-Site-Generator.

                            Kommentar


                            • #15
                              moin phpuser-2021 ,

                              jekyll ist nicht umsonst der generator für github pages.
                              ich finde static site generatoren auch wesentlich sinnvoller als sich irgendein fettes cms - meistens leider wordpress - zu installieren, wenn man zwei seiten bauen will.

                              und ja es gibt hevorganende cms systeme ich finde
                              https://www.getsymphony.com/
                              nach wie vor geeignet zum anfagen.

                              um den "routeransatz" mal von einer anderen, leichteren seite zu beleuchten:
                              https://backbonejs.org/#Routing

                              für wieder kehrende html elemente nutzt man sinnvollerweise eine template engine um den view zu rendern .

                              https://php-de.github.io/jumpto/template-engine/

                              Kommentar

                              Lädt...
                              X