Textfeld abspeichern

  • geschlossen

  • FeliX_22
  • 1242 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Textfeld abspeichern

    Hallo ihr Coder!

    Ich hab ne vermutlich ganz einfache Frage zu php, aber da ich keine Ahnung von php habe, möchte ich euch fragen.

    Ich möchte eine Seite basteln, die nur ein Textfeld und einen Speichern-Button enthält. Wenn man was ins Textfeld schreibt und auf Speichern klickt, wird der Inhalt gespeichert und wenn man wieder die Seite besucht ist der Inhalt des Textfeldes wieder sichtbar.

    Dann hätte ich noch gerne einen Zurücksetzen-Button, der den Text wieder löscht.

    Klingt doch ganz einfach, oder? Ich denke das müsste man mit einer zusätzlichen .txt-Datei lösen. Kann mir da jemand helfen?

    Optional: Beim Aufrufen meiner Seite wird der zuletzt gespeicherte Text nicht nur im Textfeld, sondern auch in einem (wie sagt man?) "Label" angezeigt, also als Text, der einfach so dasteht, den man nicht bearbeiten kann.

    Gruß

    FeliX_22

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von FeliX_22 () aus folgendem Grund: Erledigt

  • Hi,
    wenn niemand will, mach ich das mal schnell:

    PHP-Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. if(isset($_POST['submit'])) {
    4. $fp = fopen('./saveIt.txt','w+');
    5. $text = str_replace('&amp;#','&#',htmlentities(stripslashes($_POST['text'])));
    6. fwrite($fp,$text);
    7. fclose($fp);
    8. }
    9. else $text = file_get_contents('./saveIt.txt');
    10. echo '<!DOCTYPE html>
    11. <html>
    12. <head>
    13. <title>Save it, baby!</title>
    14. </head>
    15. <body>
    16. <form action="'.$_SERVER['SCRIPT_NAME'].'" method="post">
    17. <textarea name="text" autofocus="autofocus" style="width:60%;height:500px">'.$text.'</textarea>
    18. <input type="submit" name="submit" value="Los">
    19. </form>
    20. <fieldset>
    21. <legend>Alte Eingabe</legend>
    22. <pre>'.$text.'</pre>
    23. </fieldset>
    24. </body>
    25. </html>';
    26. ?>
    Alles anzeigen


    HF

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • War ja klar, wer mir da hilft :D

    Ich musste stripslashes() entfernen, dann hats auch mit den Sonderzeichen geklappt. Ich hab nämlich so komische Zeichen ä bekommen.

    Dankeschön!

    EDIT:
    Ich hab da noch ein Problem, aber darum kann ich mich erst morgen kümmern. Ich melde mich dann. Kurz gesagt: wegen <pre> werden lange Zeilen nicht umgebrochen. Ich arbeite morgen daran weiter.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von FeliX_22 ()

  • Okay, das ist bei meinen 2048px nicht aufgefallen :P
    Einfach

    Quellcode

    1. <pre>'.$text.'</pre>

    umwandeln in

    Quellcode

    1. '.nl2br(str_replace(array(' ',"\t"),'&nbsp; ',$text)).'

    Das mit den Sonderzeichen habe ich nur mit dem IE (der nicht weiß, wie er mit HTML-Dateien richtig umzugehen hat), mit Fx, Opera oder Safari, habe ich selbst mit jap. Zeichen keine Probleme.
    Wobei stripslashes nur Backslashes vor Zeichen wie " entfernt.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Broken Sword ()

  • Hi, du hast '&nbsp; ' geschrieben. Das sind 2 Leerzeichen, einer zuviel. Wenn ich nur '&nbsp;' schreibe, werden die langen Zeilen nicht umbrochen, da muss ' ' stehen.

    Lange Wörter werden nicht umbrochen, aber das interessiert mich nicht weiter.

    Das Problem mit stripslashes hatte ich in Firefox, IE und (auch wenn du es mir nicht glauben magst) Opera. ;)

    Nochmal Dankeschön. Wenn ich das nächste mal hier nen Thread aufmache, spreche ich gleich dich an. :D

    Gruß

    FeliX_22
  • Jo, sind zwei Leerzeichen, wollte halt den pre-Effekt nicht sterben lassen - dachte eigentlich das fällt nicht so auf :)
    Pah, das kann ich nicht auf mir sitzen lassen :P
    hosting.freesoft-board.to/file…2e0900b34195920d295e0.jpg
    (bei jedem Browser wurde natürlich einmal auf Los! geklickt)

    => Closed

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.