Ankündigung

Einklappen
Keine Ankündigung bisher.

Text in eine Webseite mit include laden

Einklappen

Google Responsive Ad

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

  • Text in eine Webseite mit include laden

    Ich betreibe die Webseite http://www.2-rad-zuegel-ingelfingen.de/index_1.php. Die Navigation wird mit dem folgenden Code in die Webseite integriert.

    <div id="menu"><!-- hier beginnt der Menuebereich -->

    <?php

    include 'menue.html';

    ?>

    </div> <!-- Ende Menuebereich -->

    Nun ist es so, dass sich bei dem Geschäft die Öffnungszeiten oft ändern. Weil die in vielen Unterseiten genannt werden, möchte ich die Änderung in einer Datei pflegen. Muss ich das auch in einer html-Datei machen, oder kann ich auch eine Textdatei verwenden?

    Hat jemand eine noch bessere Idee?

  • #2
    Hallo

    Das Prinzip ist in Ordnung.

    Es ist zwar mögllch aber ungeschickt, die mittels include geladenen Dateien mit der Endung "html" auszustatten. Um Mißverständnisse und damit verbundene Probleme zu vermeiden sollten die dafür üblichen Endungen "txt" oder "inc" verwendet werden.

    Die Endung "html" sollte kompletten HTML-Dateien vorbehalten bleiben, die dann auch direkt im Browser aufgerufen werden.

    Gruss

    MrMurphy

    Kommentar


    • #3
      Ich denke nicht, dass man es bei der Extension so verbissen sehen muss. Grundsätzlich sollten natürlich .html Dateien auch reines HTML enthalten, aber ich nutze das bspw. auch in meinen Systemen, die nicht auf DB basieren. Dort sind die Content-Dateien ausgelagert und haben alle die Endung .html oder .thml, je nachdem, ob Template-Logik enthalten ist oder nicht.
      Ich bin der Meinung, die Extension sollte für den Inhalt stehen, nicht jedoch zwingend auch gewährleisten, dass das Dokument vollständig ist.
      Demnach müsste man ja auch sagen, es gäbe nur eine PHP-Datei, weil das Script erst mit allen Funktionen/Klassen/Methoden vollständig ist und die Dateiendung .php verdient.

      Das einzige, was ich anders machen würde: Wenn der Content wirklich nur HTML ist, würde ich das nicht über include(), sondern per file_get_contents() machen, dafür ist das da.

      Schöne Grüße
      Arne
      PHProcks! » Tutorials

      Kommentar


      • #4
        Hi,
        Zitat von Arne Drews Beitrag anzeigen
        Wenn der Content wirklich nur HTML ist, würde ich das nicht über include(), sondern per file_get_contents() machen, dafür ist das da.
        warum nicht readfile()?

        @Lupus_III: genauso wie Du die Navigation integrierst, kannst Du auch die Öffnungszeiten in eine Datei schreiben und diese dann einbinden.

        Gruß
        Ingo
        Ingo Webdesign

        Kommentar


        • #5
          Zitat von Ingo Beitrag anzeigen
          Hi,

          warum nicht readfile()?
          Weil readfile() direkt in den Ausgabekanal schreibt! Das wäre in diesem Fall zwar vertretbar, verwendet man aber eher bei forcierten Downloads o.ä.
          Mit file_get_contents() kannst Du den Inhalt evtl. bearbeiten, bevor man ihn ausgibt. Auch wenn das hier nicht genutzt wird ist das dennoch für den Fall die bessere Variante.
          PHProcks! » Tutorials

          Kommentar


          • #6
            Hi,
            ich nutze die jeweils passendsten Funktionen und wenn ich statischen Inhalt nur ausgeben will, spare ich mir die Anlage einer Variablen. Das mag durchaus Geschmacksache sein, aber "besser" würde ich keine dieser Alternativen bezeichnen.

            Gruß
            Ingo
            Ingo Webdesign

            Kommentar


            • #7
              Lupus_III
              Hi Lupus_III, es gibt in deinem Fall zwei Möglichkeiten das zu realisieren, da du nicht immer die Öfnnungszeiten auf jeder Seite ändern möchtest. Erste Möglichkeit wäre eine zentrale HTM oder PHP Datei mit der entsprechenden Stelle zu laden per Include-Funktion von PHP. Die andere Variante wäre es, dies zu realisieren mithilfe von AJAX das mit JavaScript bestimmte Teile der Seite nachlädt in diesem Fall die Öffnungszeiten in Form von HTML. Beide Varianten haben Vor- und Nachteile.

              Gruß

              Localfu
              Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
              Albert Einstein

              Kommentar


              • #8
                Zitat von Ingo Beitrag anzeigen
                Hi,
                ich nutze die jeweils passendsten Funktionen und wenn ich statischen Inhalt nur ausgeben will, spare ich mir die Anlage einer Variablen. Das mag durchaus Geschmacksache sein, aber "besser" würde ich keine dieser Alternativen bezeichnen.

                Gruß
                Ingo
                Auf die Variable kannst Du auch verzichten, indem Du einfach ein echo verwendest.
                Wie Du schon sagst, ist es Geschmacksache. Daher verstehe ich die eingehende Frage auch nicht:
                Zitat von Ingo Beitrag anzeigen
                warum nicht readfile()?
                PHProcks! » Tutorials

                Kommentar


                • #9
                  Hi Lupus,
                  man sollte eventuell auch noch Sicherheitsaspekte beachten.
                  PHP Dateien werden vom Server anders gehandhabt als andere Dateien.
                  Wenn du Dateien includest solltest du bedenken, dass alle Dateien von außen sichtbar sind und auch aufgerufen werden können.
                  Die Datei http://example.com/menue.html kann also auch von aussen genau so aufgerufen werden.
                  Mit PHP kann z.B. obiges umgangen werden, indem du deine index.php als Hautpseitenkonstante definierst und in den includes überprüfst, ob die Konstante existiert.


                  PHP-Code:
                  //index.php
                  define ('MEININDEX'); 

                  PHP-Code:
                  //menue.php
                  if(!defined('MEININDEX'))
                  {
                      
                  header("Location: http://example.com/");    


                  Das bietet neben .htaccess nochmals zusätzlichen Schutz zu einer .htaccess, daher bevorzuge ich stets zum Einbinden Dateien mit .php

                  Gruß
                  Guen
                  Zuletzt geändert von guen; 03.11.2017, 15:48.

                  Kommentar


                  • #10
                    Hi,
                    Zitat von guen Beitrag anzeigen
                    man sollte eventuell auch noch Sicherheitsaspekte beachten.
                    das Folgende hat kaum mit Sicherheit zu tun.

                    Zitat von guen Beitrag anzeigen
                    PHP-Code:
                    //index.php
                    define ('MEININDEX'); 
                    das ist fehlerhaft und funktioniert nicht! define erfordert 2 Parameter.

                    Es gibt aber bei Apache-Servern noch eine ganz simple Methode: einfach die Menüdatei z.B. ".ht_menue" benennen.

                    Gruß
                    Ingo
                    Ingo Webdesign

                    Kommentar


                    • #11
                      Hey Leute,
                      warum die Arbeit so schwer machen. Man kann bestimmte Teile einer Internetseite immer noch mithilfe von Ajax nachladen. Dafür gibt es sehr hilfreiche Frameworks wie z.B. JQuery mit einen kleinen Befehl namen load.

                      Damit spart man sich ungemein viel Arbeit. Und ja es können auch nur bestimmte Fragmente einer html-Datei ausgegeben werden.

                      Gruß

                      Localfu
                      Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
                      Albert Einstein

                      Kommentar


                      • #12
                        Hi,
                        Zitat von Localfu Beitrag anzeigen
                        Man kann bestimmte Teile einer Internetseite immer noch mithilfe von Ajax nachladen.
                        und ohne Javascript stehen die Inhalte dann nicht zur Verfügung. Bei den Öffnungszeiten wäre das vielleicht noch zu verschmerzen, aber nicht bei der Navigation.

                        Gruß
                        Ingo

                        Ingo Webdesign

                        Kommentar


                        • #13
                          Hi, vielen Dank euch allen für die vielen wertvollen Beiträge. Ich habe inzwischen eine Text-Datei gemacht und includiere den Inhalt.

                          Kommentar


                          • #14
                            Zitat von Ingo Beitrag anzeigen
                            Hi,

                            und ohne Javascript stehen die Inhalte dann nicht zur Verfügung. Bei den Öffnungszeiten wäre das vielleicht noch zu verschmerzen, aber nicht bei der Navigation.

                            Gruß
                            Ingo
                            Ingo
                            Shit happens. Heute laufen über 95% mithilfe von JavaScript und JavaScript ist schon ein essenzieller Bestandteil von Internetseiten. Ich verzichte darauf auf Leute, die JavaScript abschalten oder es einfach nicht unterstützen können. Das ist mir als Entwickler egal und steht außen vor. Es gibt nur noch sehr, sehr wenige Seiten, die ohne JavaScript laufen und dafür ist ja JavaScript gedacht, um die Seite dynamischer zu gestalten und auf Besucherereignisse zu reagieren. Ich verstehe deine Skepsis nicht. Die Methode mithilfe von JQuery/Ajax die Sachen nachzuladen ist die schnellste und sauberste Methode. Dafür wurde Ajax extra entwickelt, damit dynamisch Inhalte nachgeladen werden können. Wer also kein JavaScript hat oder dies deaktiviert, der hat eben pech gehabt. Zudem lassen sich Tools wie NoScript auf bestimmte Seiten deaktivieren.

                            Gruß

                            Localfu
                            Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
                            Albert Einstein

                            Kommentar


                            • #15
                              Da bin ich bei Dir, Locafu! Wer Schiss hat sollte seinen Rechner ohne Internet betreiben. Ist doch auch schön! ;-)

                              Kommentar

                              Lädt...
                              X