Bobby: Datei in Variable laden, und Variablen-Inhalt wieder speichern

Hallo!

Ich möchte, dass ein PHP-Skript eine Datei $meinedatei in die Variable $feld lädt. Diese geb ich dann in einem Textfeld aus. Wenn ich dann auf einen Button klicke, soll der Inhalt des Textfelds wieder in der Datei gespeichert werden (so in der Richtung). Leider fehlt mir dafür die Planung in PHP...würde jemand sowas schreiben *ganz lieb guck*

Bobby

  1. Hallo Bobby,

    jetzt langts mir. Ich bin jetzt das dritte Mal auf diese blöde ESC-Taste gekommen. Jetzt bekommst Du eben nur noch das Script und keine Erklärung mehr dazu.

    Ich trinke übrigens Hfeweizen... :-))

    Musst Du eben nochmal fragen, wenn es nicht klappt. Insbesondere die Rechte (Owner) am Script und am Datenverzeichnis musst Du dem wwwrun übertragen. Nimm alle anderen Rechte weg.

    Hast Du einen eigenen Server?

    ---datei.php---

    <html>

    <head>
        <title>Das habe ich andere schreiben lassen</title>
      </head>

    <body>

    <?
           if ($new)
           {
             $datei=fopen("../daten/textdatei.txt","w+");
             fputs($datei,$datenfeld);
             fclose($datei);
           }

    if ($append)
           {
             $datei=fopen("../daten/textdatei.txt","a+");
             fputs($datei,$datenfeld);
             fclose($datei);
           }

    if ($delete)
           {
             $datei=fopen("../daten/textdatei.txt","w+");
             fclose($datei);
           }

    ?>

    <form action="datei.php" name="edit" ID="edit"
            method="post" enctype="multipart/formdata">

    <textarea rows="20" cols="60" name="datenfeld" id="datenfeld" wrap="soft"><?
               if (file_exists('../daten/textdatei.txt'))
                 readfile('../daten/textdatei.txt')
          ?></textarea>

    <br>

    <input type="submit" name="new" ID="new" value="überschreib den alten Mist">
          <input type="submit" name="append" ID="append" value="dazu zum alten Mist">
          <input type="submit" name="delete" ID="delete" value="wech mit dem Zeuch">
        </form>
      </body>
    </html>

    1. Hallo!

      Hast Du einen eigenen Server?

      Nein hab ich nicht, aber auch mit den Rechten meines Users geht alles!

      ---datei.php---

      <html>

      <head>
          <title>Das habe ich andere schreiben lassen</title>
        </head>

      <body>

      <?
             if ($new)
             {
               $datei=fopen("../daten/textdatei.txt","w+");
               fputs($datei,$datenfeld);
               fclose($datei);
             }

      if ($append)
             {
               $datei=fopen("../daten/textdatei.txt","a+");
               fputs($datei,$datenfeld);
               fclose($datei);
             }

      if ($delete)
             {
               $datei=fopen("../daten/textdatei.txt","w+");
               fclose($datei);
             }

      ?>

      <form action="datei.php" name="edit" ID="edit"
              method="post" enctype="multipart/formdata">

      <textarea rows="20" cols="60" name="datenfeld" id="datenfeld" wrap="soft"><?
                 if (file_exists('../daten/textdatei.txt'))
                   readfile('../daten/textdatei.txt')
            ?></textarea>

      <br>

      <input type="submit" name="new" ID="new" value="überschreib den alten Mist">
            <input type="submit" name="append" ID="append" value="dazu zum alten Mist">
            <input type="submit" name="delete" ID="delete" value="wech mit dem Zeuch">
          </form>
        </body>
      </html>

      Soweit - so gut das Skript, danke nochmals. Aber " in meiner Textfile werden dauernd zu " umgewandelt. Lässt sich sowas noch beheben? Genau wie \ zu \ wird?

      Flexo

      1. Hallo!

        Hast Du einen eigenen Server?

        Nein hab ich nicht, aber auch mit den Rechten meines Users geht alles!

        ---datei.php---

        <html>

        <head>
            <title>Das habe ich andere schreiben lassen</title>
          </head>

        <body>

        <?

        if ($datenfeld)
        {
          $datenfeld=strip_tags($datenfeld); // keine HTML-Tags zulassen
          $datenfeld=stripslashes($datenfeld); // entfernt die Slashes

        /* Ich muss mal genauer untersuchen, an welcher Stelle die
             Slashes eigentlich hinzugefügt werden. Ich hoffe, vor der
             Übertragung durch den Browser und nicht nach dem Empfang
             von PHP. Dann wäre das hier nämlich die falsche Stelle, sie
             zu entfernen.
          */
        }

        if ($new)
               {
                 $datei=fopen("../daten/textdatei.txt","w+");
                 fputs($datei,$datenfeld);
                 fclose($datei);
               }

        if ($append)
               {
                 $datei=fopen("../daten/textdatei.txt","a+");
                 fputs($datei,$datenfeld);
                 fclose($datei);
               }

        if ($delete)
               {
                 $datei=fopen("../daten/textdatei.txt","w+");
                 fclose($datei);
               }

        ?>

        <form action="datei.php" name="edit" ID="edit"
                method="post" enctype="multipart/formdata">

        <textarea rows="20" cols="60" name="datenfeld" id="datenfeld" wrap="soft"><?
                   if (file_exists('../daten/textdatei.txt'))
                     readfile('../daten/textdatei.txt')
              ?></textarea>

        <br>

        <input type="submit" name="new" ID="new" value="überschreib den alten Mist">
              <input type="submit" name="append" ID="append" value="dazu zum alten Mist">
              <input type="submit" name="delete" ID="delete" value="wech mit dem Zeuch">
            </form>
          </body>
        </html>

        Soweit - so gut das Skript, danke nochmals. Aber " in meiner Textfile werden dauernd zu " umgewandelt. Lässt sich sowas noch beheben? Genau wie \ zu \ wird?

        Flexo

        1. Hallo!

          Also da, wo es jetzt eingefügt ist, hat es keine Wirkung.

          ---datei.php---

          <html>

          <head>
              <title>Das habe ich andere schreiben lassen</title>
            </head>

          <body>

          <?

          if ($datenfeld)
          {
            $datenfeld=strip_tags($datenfeld); // keine HTML-Tags zulassen
            $datenfeld=stripslashes($datenfeld); // entfernt die Slashes

          /* Ich muss mal genauer untersuchen, an welcher Stelle die
               Slashes eigentlich hinzugefügt werden. Ich hoffe, vor der
               Übertragung durch den Browser und nicht nach dem Empfang
               von PHP. Dann wäre das hier nämlich die falsche Stelle, sie
               zu entfernen.
            */
          }

          if ($new)
                 {
                   $datei=fopen("../daten/textdatei.txt","w+");
                   fputs($datei,$datenfeld);
                   fclose($datei);
                 }

          if ($append)
                 {
                   $datei=fopen("../daten/textdatei.txt","a+");
                   fputs($datei,$datenfeld);
                   fclose($datei);
                 }

          if ($delete)
                 {
                   $datei=fopen("../daten/textdatei.txt","w+");
                   fclose($datei);
                 }

          ?>

          <form action="datei.php" name="edit" ID="edit"
                  method="post" enctype="multipart/formdata">

          <textarea rows="20" cols="60" name="datenfeld" id="datenfeld" wrap="soft"><?
                     if (file_exists('../daten/textdatei.txt'))
                       readfile('../daten/textdatei.txt')
                ?></textarea>

          <br>

          <input type="submit" name="new" ID="new" value="überschreib den alten Mist">
                <input type="submit" name="append" ID="append" value="dazu zum alten Mist">
                <input type="submit" name="delete" ID="delete" value="wech mit dem Zeuch">
              </form>
            </body>
          </html>

          Soweit - so gut das Skript, danke nochmals. Aber " in meiner Textfile werden dauernd zu " umgewandelt. Lässt sich sowas noch beheben? Genau wie \ zu \ wird?

          Flexo

          1. Goten Morgen Bobby (Flexo),

            Also da, wo es jetzt eingefügt ist, hat es keine Wirkung.

            Was heißt "keine Wirkung"? Kommt ein Teil des Quellcodes auf Deinem Browser an, oder tut es einfach nix.

            Wo ist es denn jetzt eingefügt. Nenn mir doch die URL.
            Läuft denn da überhaupt php? Läuft PHP3 oder PHP4 ?

            Ich stelle das mal versuchshalber bei mir bereit:

            http://bitworks.de/~tschmieder/uebung_textfeld.php

            Gruß

            Tom