Mike: PHP-Code in MySQL-DB?

Guten Morgen Forum,

ich habe eine dynamische Website programmiert, deren Inhhalte per Skript aus einer DB generiert werden. Das funktioniert, so lange in der MySQL-Tabelle nur HTML-Code oder Text steht. Wie kann ich es schaffen, dass auch PHP-Code ausgeführt wird?

Vielen Dank für Tipps,

Gruß vom Mike

  1. Hi,

    Das funktioniert, so lange in der MySQL-Tabelle nur HTML-Code oder Text steht.

    sprich: Es funktioniert alles, was vom Client interpretiert wird, der nämlich keine Ahnung davon hat, dass es jemals aus einer Datenbank hätte gekommen sein können.

    Wie kann ich es schaffen, dass auch PHP-Code ausgeführt wird?

    Mit eval() und geschicktem Einsatz von "?>" und "<?php" in dem zu evaluierenden String. Und mit einem ausgeklügelten Sicherheitskonzept, welches den Risiken von eval() entsprechend gestaltet wurde, versteht sich.

    Cheatah

    1. O.K. Danke, werde ich probieren!

      1. Oder versuchs mal so:

        DB auslesen,
        Inhalte in eine temporäre (!) Datei sichern
        include(tempfile)
        Temporäre Datei löschen...

        hab ich mal gehört und ausprobiert und es hat hervorragend geklappt. Über Sicherheit und Performance sollte man aber nachdenken...

        1. Danke Euch allen!!!

          Mit eval() hat's geklappt.

          Cheers,

          Mike

        2. Hi,

          Inhalte in eine temporäre (!) Datei sichern
          include(tempfile)
          Temporäre Datei löschen...

          hab ich mal gehört und ausprobiert und es hat hervorragend geklappt.
          Über Sicherheit und Performance sollte man aber nachdenken...

          eben. Das ist im Vergleich zu "eval" sowohl weniger performant als auch
          aufwändiger zu realisieren.
          (Zumal Du bei quasiparallelen Zugriffen auf denselben URL zusätzlichen
          Synchronisationsbedarf durch die Verwendung einer Datei schaffst, der bei
          Verwendung des task-lokalen Hauptspeichers und "eval" nicht bestünde.)

          Viele Grüße
                Michael

  2. Guten Morgen Forum,

    morgen auch...
    also meiner Meinung nach macht PHP-Code in einer Datenbank nicht sehr viel Sinn. Es gibt aber auch glaube ich eine Möglichkeit den auszuführen...

    http://www.php.net/manual/de/function.eval.php

    gruss Uli