PHP-Code in PHP-Variable speichern

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

  • PHP-Code in PHP-Variable speichern

    Guten Morgen zusammen!

    Ich habe mal gesehen, wie jemand PHP-Code in einer PHP-Variable gespeichert hat - und das wollte ich nachmachen Bekomme aber bei folgendem Code immer den selben Fehler:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/.... on line 3
    Und hier der Code:

    PHP-Code:
    <?php

    $phpout
    ="<?php 
    if (isset(
    $_POST['opt0'])) { 
      
    $count=0; 
      while (isset(
    $_POST['opt'.$count])) { 
        echo('Answer number '.(
    $count+1).' is '.$_POST['opt'.$count].'<br />'); 
        
    $count++; 
      } 
    } else {} 
    ?>"
    ;

    ?>
    Muss ich da sowas wie \[ und \{ machen, etc? Ein gutes Tutorial wäre ebenso gern wie eine Antwort gesehen

    Danke im Voraus!

    Gruss
    Onyx
    Zuletzt geändert von Onyxagargaryll; 30.04.2008, 11:55.

  • #2
    Code umbrechen!

    Der Fehler passiert, weil innerhalb von Double-Quotes (") Variablen ersetzt werden. Setz das ganze in Single-Quotes (') und maskiere die im String vorkommenden Single-Quotes mit einem Backslash.

    ABER:
    Ich rate dir dringendst davon ab, mit sowas anzufangen. Du wirst diesen Code an anderer Stelle garantiert durch eval() jagen wollen. Wenn du nicht genau weißt, was du da tust (was du mit diesem Post bewiesen hast): LASS DIE FINGER DAVON!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Versuche mal die Anführungszeichen auszutauschen, und den Text auf mehrere Zeilen zu verteilen (es scrollt sowieso keiner gerne horizontal, als brich auch seinen Post um):
      PHP-Code:
      <?php
      $phpout
      '
          <?php 
          if (isset($_POST["opt0"])) { 
              $count=0; 
              while (isset($_POST["opt" . $count])) { 
                  echo("Answer number " . ($count+1) . " is " . $_POST["opt" . $count] . "<br />"); 
                  $count++; 
              } 
          }
          ?>'
      ;
      ?>
      Ich kann mir allerdings nicht vorstellen, dass man sowas irgendwo sinnvoll einstzen kann.
      Gruss
      H2O

      Kommentar


      • #4
        Hallo ihr beide!

        Die Lösung war, die $-Zeichen zu maskieren
        Un eval() benutze ich nicht, davor habe ich Angst ^^ Wollte einfach eine neue funktionsfähige PHP-Datei generieren.

        Aber das ganze diente eh nur zu Testzwecken

        Auf jeden Fall bin ich froh um eure Tipps! Danke für die schnellen Antworten!

        Gruss
        Onyx

        Kommentar


        • #5
          Original geschrieben von Onyxagargaryll

          Die Lösung war, die $-Zeichen zu maskieren
          Das ist auch eine Lösung, aber auch die von unset funktionieren. Ich persönlich vermeide diese Maskiererei wo es geht.
          Und den Code im ersten Post sollst du immer noch umbrechen
          Gruss
          H2O

          Kommentar


          • #6
            OffTopic:
            Warum hebst du meinen Namen fett hervor? Ich bin nicht fett? :P
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Mit PHP5.3 und der NOWDOC Syntax wird das einfacher: nowdoc
              Wir werden alle sterben

              Kommentar


              • #8
                OffTopic:

                Weil ich fett bin hebe ich zur Kompenstion die Namen aller andern fett hervor

                Gruss
                H2O

                Kommentar


                • #9
                  Ok, danke für eure Antworten!

                  @H2O: Danke noch für den Anhang (wieder was neues gelernt )
                  nowdocs; werd ich mir merken!

                  *CLOSED* (ihr spammer ^^)

                  Gruss
                  Onyx

                  Kommentar


                  • #10
                    (wieder was neues gelernt )
                    Wenn du dir jetzt noch die Forenregeln durchlesen würdest, würdest du auch noch lernen, wie man sich hier einen Haufen Ärger ersparen kann....
                    Wir werden alle sterben

                    Kommentar

                    Lädt...
                    X