PHP Code aus Datenbak ausführen

proloser

Erfahrenes Mitglied
Hallo,

ich habe in einer Datenbank Codeschnipsel und möchte

Datenbank

ID = | 1 |
CODE = | echo "text"; |

ID = | 2 |
CODE = | $test = "text"; echo $test; |


codeschnipsel_ausfuehren.php

Klickt man nun auf den Link "codeschnipsel_ausfuehren.php?codeID=1" soll der entsprechende Code in der Datenbak ausgefürht werden!
Dabei möchte ich mir ersparen alle Codeschnipsel noch in eine extra Datei zu packen.

Wie mach ich so etwas am besten?


MfG proloser
 
Zuletzt bearbeitet:
Ich hab es jetzt so versucht es kommt allerdings eine Fehlermeldung.

PHP:
if($_GET["action"] == "") {
  $res = "SELECT * FROM `codeschnipsel` WHERE `id` = '".$_GET["codeID"]."'";
  $row2 = mysql_query($res); 
  $row = mysql_fetch_array($row2);

  eval ("\$row[ code ] = \"$row[ code ]\";");

  echo $row["code"];
}


Fehler
Code:
Warning: Cannot use a scalar value as an array in D:\Localhost\xampp\htdocs\phpschnipsel\website\codeschnipsel_exec.php(15) : eval()'d code on line 1
 
Zuletzt bearbeitet:
An dieser Stelle möchte ich mal ein Zitat von Rasmus Lerdorf (Entwickler/Gründer von PHP) einbringen, was ich meist bei [phpf]eval[/phpf] Fragen/Antworten mache

If eval() is the answer, you're almost certainly asking the wrong question.

Es gibt immer eine andere Lösung, eval sollte man nie benutzen, da es einfach zu viele Sicherheitslücken aufweist.

Gruß

Spea
 
Das mag schon sein aber weitergeholfen hast du mir dabei nicht, ich fragte nicht nach den Möglichkeiten die nicht bzw schlecht sind sondern wie ich den PHP/HTML Code in der Datenbank ausführe damit ich nicht für jedes Codeschnipsel eine eigene Datei erstellen muss.

Genau die "anderen" Lösungen such ich :)
 
Hi,

probier mal:
PHP:
eval ($row["code"] );
- in $row["code"] steht ja schon ein String und als Array-Schlüssel musst Du hier ebenfalls einen String angeben.

Gruß
.
 
Du könntest dir doch ein Script schreiben, welches für jedes Codeschnipsel eine Datei erstellt, das würde dir zumindest die Arbeit ersparen das ganze per Hand zu machen.

Gruß

Spea
 
Das wäre ja kein Problem nur wenn ich eine editier und lösch Funktion dazu machen will wird es aufwendig, aber wenn ich keine andere lösung finde muss ich es so machen.

@Tobias Menzel: Leider der selbe Fehler
 
Zuletzt bearbeitet:
Genau das ist das Problem denn dort kann PHP und/oder HTML enthalten sein!


Beispiel:

PHP:
<?php
   if($PHP_AUTH_USER != "test" OR $PHP_AUTH_PW != "pw") {
      Header('HTTP/1.1 401 Unauthorized');
      Header('WWW-Authenticate: Basic realm="Top Secret"');
      echo "Sie konnten nicht eingeloggt werden!";
      exit;
   }
?>

<html>
  <head>
    <title>PW Abfrage</title>
  </head>

  <body>

    Erfolgreich eingeloggt!

  </body>

</html>


MfG proloser
 
Zurück