Thomas: Veriablenübergabe anTextarea

Hallo!

Ich habe eine html datei das ein form enthält und eine php datei, die die funktion des forms regelt.

das form erstellt mehrer dateien. ich will nun, dass wenn ich das form ausgefüllt habe und auf den button drücke, dass die soeben erstellte datei in der textarea angezeigt wird.

ich lese die datei mit readfile() in der php datei aus. das klappt auch. aber wie kann ich das readfile in die textarea verlegen? so, dass es nicht ausserhalb der textarea angezeigt wird sondern da drin?

danke!
thomas

  1. hallo thomas

    ich lese die datei mit readfile() in der php datei aus. das klappt auch. aber wie kann ich das readfile in die textarea verlegen? so, dass es nicht ausserhalb der textarea angezeigt wird sondern da drin?

    So?

    <textarea cols="" rows="">
    <? echo readfile(irgendwas) ?>
    </textarea>

    kaepten

    1. Hallo kaepten!

      <textarea cols="" rows="">
      <? echo readfile(irgendwas) ?>
      </textarea>

      Hmm ich habs mal ausprobiert und musste dazu die html datei in php umwandeln. Aber wenn ich dann die seite mit dem formular nochmals aufrufe, stecht der komplette php-befehl in der textarea.

      ausserdem ist der pfad zur datei variabel, das heißt ich müsste schon das ganze aus der zweiten php datei steuern, so dass die erste datei mit dem form auch html bleibt (nicht zwangweise...)

      Aber vielen dank!
      Thomas

      1. Hoi Thomas

        Hmm ich habs mal ausprobiert und musste dazu die html datei in php umwandeln. Aber wenn ich dann die seite mit dem formular nochmals aufrufe, stecht der komplette php-befehl in der textarea.

        Ja das stimmt, es müsste auch eine php-Endung haben, aber so einfach wie ich das geschrieben habe ist es natürlich schon nicht. Ich vermutete ein anderes Problem, die Antwort ist also nicht ganz richtig gewesen.

        ausserdem ist der pfad zur datei variabel, das heißt ich müsste schon das ganze aus der zweiten php datei steuern, so dass die erste datei mit dem form auch html bleibt (nicht zwangweise...)

        Was passiert denn, wenn das php fertig abgearbeitet worden ist?

        kaepten

        1. HI nochmal!

          Was passiert denn, wenn das php fertig abgearbeitet worden ist?

          Also, ich gebe in das Form Daten ein und sage im Form einen Pfad an, indem diese Daten in einer txt gespeichert werden sollen.

          Dann drücke ich den button.

          mein php nimmt die ganzen sachen aus den textfeldern und speeichert es in einer txt datei im angegebenen pfad.

          Ja und nun soll noch die zusatzfunktion da rein, dass wenn es abgespeichert ist, das php hingeht und aus der soeben erstellten txt alles in das textarea schreibt. und das wars.

          sonst passiert nichts mehr!

          gruß,
          thomas

          1. Hallo

            Kann sein dass Dir das Script hilft was oben von Tom bereits angeboten worden ist.

            Also, ich gebe in das Form Daten ein und sage im Form einen Pfad an, indem diese Daten in einer txt gespeichert werden sollen.

            Zum es präzieren: Du hast eine Text-Input Feld (Filename) und ein Textarea (Inhalt der Datei) und den Button (abschicken).

            Ja und nun soll noch die zusatzfunktion da rein, dass wenn es abgespeichert ist, das php hingeht und aus der soeben erstellten txt alles in das textarea schreibt. und das wars.

            Ja ok. Aber irgendwie fehlt mir der Ansatz was _nach_ dem Script passiert! Welche nachfolgende Seite kommt? Wird die aufgerufen, oder erzeugt das PHP Script den output?????

            Diejenige Seite die den Aufruf des PHP macht, die ist ja dann weg. Da muss ja also etwas "neues" kommen.

            kaepten

          2. habe d'ehre

            mein php nimmt die ganzen sachen aus den textfeldern und speeichert es in einer txt datei im angegebenen pfad.

            Ja und nun soll noch die zusatzfunktion da rein, dass wenn es abgespeichert ist, das php hingeht und aus der soeben erstellten txt alles in das textarea schreibt. und das wars.

            Wo ist das Problem?

            Dein Formular ist eine .php-Datei
            Nach Absenden rufst Du es wieder auf, Dein Text wird als Parameter mitgegeben, diesen kannst Du in der Textarea ausgeben. .html-Dateien koennen keine Parameter aufnehmen.

            In etwa so:

            if(isset($_POST['send'])):
            $letztertext = $_POST['textfeld'];
            // Abarbeitung der Eingaben unter Beruecksichtigung aller Sicherheitsaspekte
            endif;

            echo "<form action="".$_SERVER['PHP_SELF']."" method="post">\n";
            echo "<textarea class="feld" name="textfeld" rows="6" cols="66">".$letztertext."</textarea>\n";
            echo "<input type="hidden" name="send" value="on" />\n";
            echo "</form>"

            carpe diem
            Wilhelm

            1. Hello,

              if(isset($_POST['send'])):
              $letztertext = $_POST['textfeld'];
              // Abarbeitung der Eingaben unter Beruecksichtigung aller Sicherheitsaspekte
              endif;

              Wenn man schon mit isset() arbeitet, sollte man es auch konsequent tun.

              $letztertext = $_POST['textfeld'];

              das kann dann nämlich genauso schief gehen, entweder wegen Fake oder wegen Versionskonflikt oder oder oder...

              Ich mag das ewige isset() ja auch nicht und frage iimmer nur

              if ($_POST["btn"]["save"])   odre so ähnlich. Notices sind dann natürlich ausgeschaltet.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              1. Hi

                Wenn man schon mit isset() arbeitet, sollte man es auch konsequent tun.

                aha, das habe ich so nie geprüft. Was ist denn der Unterschied zwischen isset() und empty()? Ich machs nämlich immer mit dem.

                kaepten

                1. Hello,

                  Wenn man schon mit isset() arbeitet, sollte man es auch konsequent tun.

                  aha, das habe ich so nie geprüft. Was ist denn der Unterschied zwischen isset() und empty()? Ich machs nämlich immer mit dem.

                  Isset() prüft, ob die Variable als solche in der Liste der Vars eingetragen ist, also überhaupt angelegt ist und empty prüft dann noch, ob sie einen Wert enthält, der von "" oder 0 verschieden ist.

                  Das ist nicht immer günstig.

                  Da hatte ich gestern einen "professionellen" Fragebogen per Internet, indem gefragt wurde:

                  Wieviele xy hatten sie damals
                  Wieviele xy hatten Sie vor zwei Jahren
                  Wieviele xy haben sie heute?

                  Und wenn man da nun 0 eintippte, dann hat das Ding einen Fehler gemeldet. Die haben auf der anderen Seite das Zwangsfeld nämlich mit empty() geprüft und das ist falsch gewesen.

                  Empty ist fast unbrauchbar.

                  Sowas prüft man besser mit

                  if(isset($feld) and strlen($feld) > $len)

                  $len ist ja je nach Anwendungsfall anders sinnvoll. Den Typ, der bei Umwandlung ermittelt werden kann, muss man ggf. auch vergleichen mit dem für das Feld vorgeschriebenen. Wenn in ein Numeric-Field jemand "13doof" reinschreibt, ist das ja eignetlich nicht richtig.

                  Liebe Grüße aus http://www.braunschweig.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              2. habe d'ehre

                // Abarbeitung der Eingaben unter Beruecksichtigung aller Sicherheitsaspekte

                $letztertext = $_POST['textfeld'];

                das kann dann nämlich genauso schief gehen, entweder wegen Fake oder wegen Versionskonflikt oder oder oder...

                Darum auch der Hinweis auf die Sicherheitsaspekte. Das die Variablen noch ueberprueft werden muessen setze ich eigentlich voraus. *g*

                Mir ging es auch nur um die verkuerzte Darstellung, falls ich sein Problem ueberhaupt richtig verstanden habe. Denn da bin ich mir nach seinen Kommentaren gar nicht so sicher. ;-)

                carpe diem
                Wilhelm

  2. Hello,

    schau Dir mal das Script http://bitworks.de/~selfHTML/speichern.php an.

    Da findest Du allerhand Anregungen...

    Und wenn Du Fragen hast, dann kannst Du sie hier so posten, dass auch jemand, der das Script nicht vorliegen hat, die Frage verstehen kann. Also bitte nicht fragen "was passiert da in Zeile xy?" sondern eben das Stückchen Code rausschnippeln das Du nicht verstehst.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hallo Tom!

      Also bitte nicht fragen "was passiert da in Zeile xy?" sondern eben das Stückchen Code rausschnippeln das Du nicht verstehst.

      Ihc versteh ehrlich nicht, wieso du das schreibst, zumal ich nie schrieb "ich kapier den befeht nicht", "ich kapier nicht was da und da passiert". Ich habe nur gefragt wie ich eine variablenübergabe zwischen 2 dateien so regeln kann, damit das resultat nachher in der textarea landet!
      Aber danke für deinen Hinweis. Ich versuche mich dann evt im bildlichem Erklähren meines Scripts.....

      Gruß,
      Thomas

      1. Hello,

        Also bitte nicht fragen "was passiert da in Zeile xy?" sondern eben das Stückchen Code rausschnippeln das Du nicht verstehst.

        Ihc versteh ehrlich nicht, wieso du das schreibst, zumal ich nie schrieb "ich kapier den befeht nicht", "ich kapier nicht was da und da passiert". Ich habe nur gefragt wie ich eine variablenübergabe zwischen 2 dateien so regeln kann, damit das resultat nachher in der textarea landet!
        Aber danke für deinen Hinweis. Ich versuche mich dann evt im bildlichem Erklähren meines Scripts.....

        Das bezieht sich gar nicht dediziert auf Dich, sondern richtet sich an alle Mitleser, die ggf. zu den verschiedenen Musterlösungen Fragen haben. Ich bekomme z.B. auch manchnmal (so ca. 10 Stück am Tag) Rückfragen per eMail zu den Lösungen. Die kann und will ich aber auch nicht immer beantworten, insbesondere, wenn es sich um allgemeine Verständnisfragen handelt, die wirkliche besser im Forum Platz finden. Hier können nämlich noch 100 *trommel* Leute mitlesen, die das eventuell auch interessiert und die dann selber gar nicht mehr fragen müssen.

        Also versteh das vorhin gesagte bitte nicht als Angriff, sondern als Bitte.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen