PHP code ausführen

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

  • PHP code ausführen

    Hallo,

    Ich habe eine Art Templatesystem programmiert, welches den Content aus einer MySQL Datenbank holt. Soweit so gut. Nun brauche ich aber PHP in meinen Seiten, kann aber nicht (zumindest nicht ohne erheblichen Mehraufwand) ein neues PHP Skript erstellen. Deshalb würde ich gerne den PHP Code mit in die Datenbank zum normalen Content dazuschreiben. Gibt es eine Möglichkeit einen String, der HTML und PHP Code enthält von PHP ausführen zu lassen?

    SG,
    Alex
    Picadreams
    .software.beratung.schulung.

    www.picadreams.at

  • #2
    Hi,

    guck dir mal smarty.php.net an.

    Aber überleg deine Logik nochmal. Damit wirst du nicht glücklich

    Grüsse,

    Kommentar


    • #3
      Nee ich glaub er/sie sucht eval().

      Kommentar


      • #4
        Wieso werde ich damit nicht glücklich? Ich werde mir gleich mal Smarty anschauen, danke für den Tipp.
        eval() führt nur PHP Code aus. Es geht aber darum, dass das HTML Dokument mit PHP Code, welches sich in einem String befindet durch den PHP Prozessor laufen zu lassen.
        Also in dem String steht z.B.: <html><body><?php echo "Hallo"; ?></body></html>
        und nun soll das PHP interpretiert werden und zurück soll der fertige HTML Code kommen, wie ihn der Browser normal erhält.

        SG
        Alex
        Picadreams
        .software.beratung.schulung.

        www.picadreams.at

        Kommentar


        • #5
          PHP-Code:
          <?php
          $db_content 
          '<p>Some html<br><? echo "works like a charm!"; ?><hr>';
          eval(
          '?>'.$db_content);
          ?>

          Kommentar


          • #6
            Vielen Dank, so klappt es

            Aber um auf die Aussage "Damit wirst du nicht glücklich sein" zurückzukommen, wie war das gemeint? Hat die Funktion irgendwelche Bugs, Sicherheitslücken, ...? Auf den Inhalt der DB hat außer mir in der Regel keiner Zugriff, also ist Manipulation von außen eher ausgeschlossen.

            SG
            Alex
            Picadreams
            .software.beratung.schulung.

            www.picadreams.at

            Kommentar


            • #7
              Ich schätze, weil dein Content Code enthält. Ziel eines Templatesystem ist die Trennung von Design und Inhalt. Als nächsten logischen Schritt solltest du Inhalt und Logik trennen. (Eigentlich ist das von Natur aus getrennt, du hast es aber zusammengeworfen.)
              Die Trennung wird dir (später) schwerfallen, wenn die Logik (der Code) in den Inhalt reingekrümelt ist.

              Kommentar


              • #8
                Original geschrieben von onemorenerd
                Ich schätze, weil dein Content Code enthält. Ziel eines Templatesystem ist die Trennung von Design und Inhalt. Als nächsten logischen Schritt solltest du Inhalt und Logik trennen. (Eigentlich ist das von Natur aus getrennt, du hast es aber zusammengeworfen.)
                Die Trennung wird dir (später) schwerfallen, wenn die Logik (der Code) in den Inhalt reingekrümelt ist.
                Volle Zustimmung, damit wirst du nicht glücklich.

                Ziel ist es Logik und Inhalt völlig zu trennen.
                Also alles was Text ist in die DB.
                Und alle Funktionen, also php Befehle in die php-Dateien machen.

                Kommentar


                • #9
                  Ja, schon klar. Aber in dem speziellen Fall würde bei so einer strengen Trennung die Kosten/Nutzen Rechnung nicht aufgehen. Der Aufwand für die Trennung bei dem eher unwichigen Skript wäre mir zu groß. Die Zeit brauche ich für Projekte wo ich das nicht machen kann

                  SG
                  Alex
                  Picadreams
                  .software.beratung.schulung.

                  www.picadreams.at

                  Kommentar

                  Lädt...
                  X