Roland: html-Datei in php-Datei???

Hallo liebe Experten,

ich würde als relativer newbie gerne erfahren,ob bzw. wie es möglich ist eine html-Datei in ein php-script einzubinden oder auszuführen.
Es geht mir darum verschiedene Templates zu benutzen,die ich über meine DB auswähle.Die Templates sind eigentlich auch php-Dateien enthalten jedoch bis auf kleinere Ausgabe- und Abfrageroutinen hauptsächlich html und eben das design.
Ich würde jetzt gerne über eine bestimmte php-Datei in der ich abfrage welches design zu verwenden ist,die php-Datei in der halt fast alles andere (eben auch das design) enthalten ist ausgeben.

Wie geht man hierbei am besten vor?

  1. Hallo

    Ich würde jetzt gerne über eine bestimmte php-Datei in der ich abfrage welches design zu verwenden ist,die php-Datei in der halt fast alles andere (eben auch das design) enthalten ist ausgeben.

    Da gibt es viele Möglichkeiten. Die Frage ist halt auch wie dein Projekt und Seite aufgebaut ist?
    Für jedes Dsign ein eigenes Unterverzeichnis?
    Du kannst z.b. auch schon durch das einbinden verschiedener CSS Dateien ein anderes Design erreichen.
    Oder über eine Weiterleitung zu der gewünschten Startseite.

    viele Grüße
    hawk

    1. Hallo!

      Welche Datei mit welchem design ausgegeben wird,steuere ich über die Hauptdatei.Die "design-Dateien" (nenne ich mal einfach so) liegen im selben Verzeichnis und unterscheiden sich untereinander nur durch Kennziffern.
      Das auswählen/ansprechen der verschiedenen Typen klappt bereits.Ich weiß halt nur nicht,wie ich die Daten ausgebe-sprich den Inhalt der Dateien und damit eben das design und alles (auch php) was dazugehört ausgeben lassen kann...

      1. Hallo

        Das auswählen/ansprechen der verschiedenen Typen klappt bereits.Ich weiß halt nur nicht,wie ich die Daten ausgebe-sprich den Inhalt der Dateien und damit eben das design und alles (auch php) was dazugehört ausgeben lassen kann...

        Wenn ich dich recht verstehe, hast du HTML Dateien und PHP Dateien in deinem Projekt?
        Du kannst ja im Prinzip jeden HTML Code auch in einer PHP Datei anzeigen.
        Was spricht dagegen deine ganzen HTML Dateien als .php Dateien zu benennen und diese dann entsprechend von deiner Startseite zu inkludieren?

        viele Grüße
        hawk

        1. Ok, ich gebe mal ein Beispiel:

          Meine Php-Datei,über die ich ein entsprechendes design auswählen möchte heisst "main.php".
          Der Inhalt dieser php-Datei (hier mal ganz auf das wesentliche verkürzt):
          <?php

          if ($db_design['variante'] != 2)
          {
          $dateiname="design1.php"
          }
          else
          {
          $dateiname="design2.php"
          }

          echo file_get_contents($dateiname);
          ?>

          Hierbei wird mir nun der komplette Inhalt (eben auch wie gewünscht) das Design der Datei "design1" oder "design2.php" ausgegeben,sprich die Datei wird ausgeführt.
          Das Problem dabei ist jedoch,dass in den "design1/2" Datenbankabfragen stehen,die leider NICHT mehr berücksichtigt werden.
          Rufe ich design1.php (oder die andere...) über meine Eingabeleiste im Browser auf,besteht dieses Problem nicht,sondern nur über die Ausgabe via der Steuerungsdatei "main.php".

          1. Hi,

            statt den Inhalt der Datei per echo auszugeben, solltest Du die Datei inkludieren.

            LG

            1. statt den Inhalt der Datei per echo auszugeben, solltest Du die Datei inkludieren.

              Schön und gut.Und wie zeige ich den Inhalt dann an?

              1. Mahlzeit Roland,

                statt den Inhalt der Datei per echo auszugeben, solltest Du die Datei inkludieren.

                Schön und gut.Und wie zeige ich den Inhalt dann an?

                Welchen Inhalt? Den PHP-Code? Auf die von Dir verwendete Weise. Oder den von den PHP-Dateien generierten Output? Dann solltest Du die Dateien wirklich wie von Karin beschrieben inkludieren - den Output müssten diese PHP-Dateien dann halt selbst erzeugen.

                Generell wäre es vielleicht sinnvoll, wenn Du etwas mehr Informationen liefern könntest, damit Deine Leser die bei Dir bestehende Konstellation besser verstehen und qualifiziertere Ratschläge anbringen können ...

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                1. Welchen Inhalt? Den PHP-Code? Auf die von Dir verwendete Weise. Oder den von den PHP-Dateien generierten Output? Dann solltest Du die Dateien wirklich wie von Karin beschrieben inkludieren - den Output müssten diese PHP-Dateien dann halt selbst erzeugen.

                  Hallo!
                  Tja,das Problem (was ich ja bereits erwähnt hatte...) ist dabei aber dass die auszugebene php-Datei mit dem design zwar angezeigt wird und auch php-Befehle wie "echo" berücksichtigt werden,aber eben nicht die Datenbankausgabe.

                  Generell wäre es vielleicht sinnvoll, wenn Du etwas mehr Informationen liefern könntest, damit Deine Leser die bei Dir bestehende Konstellation besser verstehen und qualifiziertere Ratschläge anbringen können ...

                  Dazu hatte ich doch in meinem Beispiel bereits geschrieben das der KOMPLETTE Inhalt der design.php ausgebenen werden soll,so,als ob sie über den Browser aufgerufen würde.

                  ...und hier nochmal in Kurzform:
                  Gebe ich design1.php über die Eingabezeile meines Browsers aus steht alles drin-auch die Datenbankinhalte.
                  Gebe ich design1.php über die main.php via file_contents... aus habe ich das html-Design und die php-echo-Ausgaben aber NICHT die Db-Inhalte.

                  1. Mahlzeit Roland,

                    Dazu hatte ich doch in meinem Beispiel bereits geschrieben das der KOMPLETTE Inhalt der design.php ausgebenen werden soll,so,als ob sie über den Browser aufgerufen würde.

                    Dann zeig doch bitte mal relevanten Code aus dieser Datei ...

                    ...und hier nochmal in Kurzform:
                    Gebe ich design1.php über die Eingabezeile meines Browsers aus steht alles drin-auch die Datenbankinhalte.

                    Natürlich, weil die PHP-Datei vom PHP-Interpreter ausgeführt wird.

                    Gebe ich design1.php über die main.php via file_contents... aus habe ich das html-Design und die php-echo-Ausgaben aber NICHT die Db-Inhalte.

                    Natürlich, weil file_get_contents() die als Parameter übergebene Datei öffnet, einliest und ihren Inhalt (also den PHP-Code) als String zurückgibt ... NICHT jedoch ausführt! Vielleicht solltest Du Dir die Dokumentation der Funktionen, die Du benutzt, auch durchlesen.

                    MfG,
                    EKKi

                    --
                    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                    1. Natürlich, weil file_get_contents()] die als Parameter übergebene Datei öffnet, einliest und ihren Inhalt (also den PHP-Code) als String zurückgibt ... NICHT jedoch ausführt! Vielleicht solltest Du Dir die Dokumentation der Funktionen, die Du benutzt, auch durchlesen.

                      Ok, dann ist der genaue Inhalt meiner Php-Datei ohnehin irrelevant weil ich mit "file_get_contents" den falschen Weg beschreite.

                      Welcher Ansatz wäre denn nun für mein Ansinnen der beste/einzige/richtige?

                      1. Hi,

                        Welcher Ansatz wäre denn nun für mein Ansinnen der beste/einzige/richtige?

                        das PHP-Script zu inkludieren, habe ich Dir doch schon geschrieben. Warum liest Du Dir denn die Manualseite, die ich Dir extra verlinkt habe, nicht mal durch und probierst die Funktion aus?

                        LG

                        1. das PHP-Script zu inkludieren, habe ich Dir doch schon geschrieben. Warum liest Du Dir denn die Manualseite, die ich Dir extra verlinkt habe, nicht mal durch und probierst die Funktion aus?

                          Dank dir.Ich hatte leider bislang keine Zeit gefunden das sorgfältig durchzulesen,deshalb wollte ich vorher sicher gehen,ob dies auch der richtig Lösungsansatz ist.
                          Also nochmal danke!!

                  2. Hallo

                    zeige doch einfach mal deinen Beispielcode!
                    Und befolge doch mal den Rat von hier und includiere deine PHP dateien.

                    viele Grüße
                    hawk