tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
378
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    479
    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
    Geändert von proloser (27.01.07 um 13:26 Uhr)
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Mit der eval()-Funktion lässt sich PHP-Code ausführen.
     
    Markus Wulftange

  3. #3
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    479
    Ich hab es jetzt so versucht es kommt allerdings eine Fehlermeldung.

    PHP-Code:
    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 :
    1
    
    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
    Geändert von proloser (27.01.07 um 15:54 Uhr)
     

  4. #4
    Registriert seit
    Nov 2002
    Beiträge
    231
    An dieser Stelle möchte ich mal ein Zitat von Rasmus Lerdorf (Entwickler/Gründer von PHP) einbringen, was ich meist bei eval() 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
     

  5. #5
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    479
    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
     

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

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

    Gruß
    .
     

  7. #7
    Registriert seit
    Nov 2002
    Beiträge
    231
    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
     

  8. #8
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    479
    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
    Geändert von proloser (27.01.07 um 15:52 Uhr)
     

  9. #9
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    was steht denn in $row["code"] in diesem Moment? eval erfordert einige Konventionen, siehe http://de2.php.net/manual/de/function.eval.php

    Gruß
    .
     

  10. #10
    proloser proloser ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    479
    Genau das ist das Problem denn dort kann PHP und/oder HTML enthalten sein!


    Beispiel:

    PHP-Code:
    <?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
     

  11. #11
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    ... Du wirst Dir in diesem Fall m.E. den Part zwischen <?php und ?> für eval heraustrennen und den Rest einfach per echo() ausgeben müssen.
    .
     

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 29.08.07, 18:47
  2. HTML code aus Datenbak auslesen
    Von karum im Forum PHP
    Antworten: 12
    Letzter Beitrag: 14.06.07, 07:38
  3. PHP Code mit Tasten ausführen
    Von Cinderella1982 im Forum Javascript & Ajax
    Antworten: 14
    Letzter Beitrag: 14.08.05, 18:58
  4. Vba Code ausführen
    Von cfl2si im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 18.03.05, 08:49
  5. PHP Script zum Ausführen von PHP Code
    Von _voodoo im Forum PHP
    Antworten: 2
    Letzter Beitrag: 19.08.04, 01:51