READFILE - Anzeige mal ja, mal nein

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

  • READFILE - Anzeige mal ja, mal nein

    hallo alle,

    ich gebe folgende zeilen über den online-editor (html-modus) eines kleinen cms ein:
    PHP-Code:
    <?php
    readfile
    ("http://www.autorinnen.de/newsfeed/parsenewsfeed.php");
    ?>
    bei aufruf der seite: keine anzeige, obwohl der quelltext korrekt ist.

    wenn ich nun den quelltext hernehme und mit ihm eine seite test.php erzeuge und diese seite aufrufe, erscheinen die news wie gewünscht.

    was kann das denn ein? ratlos!

  • #2
    versuch ma include

    mfg

    Kommentar


    • #3
      nein, so kann's doch auch nicht gehen.

      der gesamte text-string geht nach eingabe im editor in die db und befindet sich vor der ausgabe in der variablen $text.

      die ausgabe von $text erfolgt natürlich so:
      PHP-Code:
      <?php echo $text ?>
      also kann ich nicht noch einmal die php-tags reinschreiben, oder?

      ich habe jetzt dies versucht (eingabe im online-editor):
      ------------------
      bla bla"; include ('test.php'); echo "bla bla
      ------------------
      aber dann bekomme ich genau das angezeigt und nicht den inhalt von test.php.

      wenn ich im online-editor im html-modus eingebe:
      ------------------
      <?php include ('test.php'); ?>
      ------------------
      bekomme ich keine anzeige, aber das include steht so im quelltext.
      da mach' ich doch irgendwie einen denkfehler...

      Kommentar


      • #4
        zu trivial oder zu komplex?

        das problem scheint nicht bei "readfile" zu liegen, sondern in der interpretation der variablen $text durch den parser:

        ich versuch's noch einmal:

        ich habe eine main.php (vereinfacht):
        Code:
        <?php
        include ("data.php");
        include ("head.php");
        
        echo "<body>";
        // $text aus db einlesen
        echo "$text";
        
        ?>
        </body>
        </html>
        inhalt von $text ($text kommt aus db):
        Code:
        <?php include("test.php"); ?>
        test.php sieht so aus:
        Code:
        <?php echo "News:"; ?>
        anzeige: nichts

        im quelltext! der erzeugten seite findet sich (neben dem normalen code):
        Code:
        <?php echo "News:"; ?>
        das heissst doch, dass der parser zwar $text interpretiert, aber in $text enhaltenen php-code einfach als text behandelt.

        was könnte man tun? immer noch ratlos! wo sind die experten?

        Kommentar


        • #5
          Re: zu trivial oder zu komplex?

          Original geschrieben von weserweb

          das heissst doch, dass der parser zwar $text interpretiert, aber in $text enhaltenen php-code einfach als text behandelt.
          Nein, dass heißt, dass der Browser die PHP-Tags ignoriert, weil er sie nicht kennt.
          Mach mal ein echo eval($text) und schneide vorher die Befehle <?php und ?> aus dem String raus.

          Kommentar


          • #6
            @ DSD,

            das ist schon richtig, der browser kann mit <?php nichts anfangen.

            1) mit eval($text) bekomme ich nun den string im browser angezeigt.

            2) das war aber nicht mein ursprüngliches problem.

            ursprünglich in $text enthalten ist unter viel anderem text und dieser teil:

            >>include("http://www.autorinnen.de/newsfeed/parsenewsfeed.php");<<

            und dieser code muss auf dem server verarbeitet werden, sonst werden die news nicht angezeigt, klar.

            es nützt nichts, wenn dieser teil von $text, so wie er da steht, im browser angezeigt wird.

            ich vermute fast, das geht überhaupt nicht...

            btw mods: ich bekomme keine email, obwohl benachrichtigung aktiviert.

            Kommentar


            • #7
              hmm, ich glaube auch, dass das dann nicht funktioniert. Du brauchst schon eine klare Trennung zwischen reinem Text und den PHP-Befehlen und dann ist das ja acuh noch doppelt verschachtelt.
              Da fällt mir auch keine Lösung ein.
              Vielleicht solltest Du den Aufbau noch einmal neu überdenken?
              Wieso gelangen include-Anweisungen in ein Textfeld in der DB?
              Das erscheint mir irgendwie unlogisch. Die Eventualität ob ein Script includet wird oder nicht, sollte doch das Hauptscript behandeln!?

              Kommentar


              • #8
                @ dsb,

                Wieso gelangen include-Anweisungen in ein Textfeld in der DB?
                das ganze ist ein cms.

                der nutzer macht alle texteingaben in einen online-editor. der text wird dann in db gespeichert.

                gestern kam die frage, ob der im ersten thread gezeigte code nicht eingebunden werden könnte.

                die nutzerin möchte so auf ihrer homepage besagte news anzeigen lassen.

                also die 3 code-zeilen in den online-editor schreiben (im html-modus) und fertig. so landet dieser code im textstring.

                leider klappt es mit der ausgabe eben nicht.

                manuell einfügen geht nicht, da alle seiten über ein template erzeugt werden.

                vielleicht kommt ja noch eine idee???

                Kommentar

                Lädt...
                X