[Funktion] Texteditor mit PHP

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

  • [Funktion] Texteditor mit PHP

    Hallo,

    ich bin noch ein ziemlicher PHP-Neuling und möchte ein PHP-Script über ein anderes PHP-Script editieren.

    Das funktioniert mit dem folgenden Auszug aus meinem Script allerdings nicht:
    PHP-Code:
    function edit() {
                    
    $textfile="test.php";
    echo
    "<form action=".$textfile." method=post>";
    echo 
    "<textarea rows=30 name=Texteditor cols=80>".readfile
    ("$textfile")."</textarea><br>";
    echo
    "<br>";
    echo
    "<input type=submit value=Abschicken name=B1>";
    echo 
    "<input type=reset value=Zurücksetzen name=B2></p>";
    echo 
    "</form>";

    Wenn ich das so in mein Script einbaue und dann das Script aufrufe, dann bekomme ich nur Code-Müll. Wie muss das Script aussehen, um über ein Textarea-Feld ein PHP-Script aufzurufen und anschließend wieder zu speichern?

    Ich wäre euch sehr dankbar, wenn Ihr kurzfristig eine Lösung für mich hättet.

    Vielen Dank im Voraus, Chriss
    EDIT:
    php.tags by wotan
    Zuletzt geändert von Wotan; 09.08.2003, 08:23.

  • #2
    also erstmal solltest Du dann auch ein anderes script als action nehmen in deiner form
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Hallo MelloPie,

      ich will es nutzen, um das PHP-Script, mit dem ich gerade arbeite aufzurufen, zu editieren, zu speichern und geändert erneut aufzurufen.

      Wenn das nicht funktioniert, würde ich es evtl. über ein zweites PHP-Script machen, wobei ich es schon lieber so machen möchte.

      Wie auch immer, wie bekomme ich das geregelt?

      Vielen Dank, Chriss

      Kommentar


      • #4
        Ich habe nochmal ein wenig im Forum gesuicht, konnte allerdings keine kon krete Hilfe für mein Problem finden, konnte allerdings schon ersehen, wo wohl das Problem liegt, so dass ich es hier nochmal etwas genauer darstellen kann.

        Soe wie ich das ersehen konnte, wird durch das Laden der PHP-Datei in die Textarea der eingelesene Text geparst, wodurch beim Code-Müll etsteht.

        Wie stelle ich es also an, die PHP-Datei in die Textarea 1:1 eizulesen, diese zu bearbeiten und anschließend wieder in diese Datei zurückzuschreiben?

        Kommentar


        • #5
          probier's mal mit

          - file() zum lesen
          - addslashes() zum schreiben
          - header() zum anzeigen/ausführen
          Kissolino.com

          Kommentar


          • #6
            Hallo Wurzel,

            ich habe mein Script angepasst und habe die Zeile
            echo "<textarea rows=30 name=Texteditor cols=80>".file("$textfile")."</textarea><br>";
            eingefügt, aber er zeigt mir nun im Textfeld nur "Array" an. Ich finde leider auch im PHP Handbuch die Funktion nicht, so dass ich auch nicht weiß, wie die genaue Syntax zu dieser Funktion lautet.

            Kannst Du mir hierbei noch ein wenig helfen?

            Chriss

            Kommentar


            • #7
              was ist das denn für'n handbuch
              => http://de3.php.net/manual/de/function.file.php
              Kissolino.com

              Kommentar


              • #8
                Hallo Wurzel, hallo auch an alle anderen,

                o.k. mit dem Befehl file() habe ich jetzt meine Datei eingelesen, aber wie bekomme ich die Datei jetzt gespeichert?

                Das Handbuch das Du mir genannt hast hat mir beim Befehl file() schon prima weitergeholfen, aber zu den Befehlen addslashes() und header() verstehe ich nicht, finde ich nichts, wie die Datei jetzt gespeichert werden kann.

                Hier noch einmal der modifizierte Script-Abschnitt:


                PHP-Code:
                $lines file ('test.txt');
                                            
                echo
                "<form>";
                echo 
                "<textarea rows=30 name=Texteditor cols=120>";
                foreach (
                $lines as $line_num => $line) {
                   echo 
                htmlspecialchars($line);
                   }
                echo 
                "</textarea><br>";
                echo
                "<br>";
                echo
                "<input type=submit value=Abschicken name=B1>";
                echo 
                "<input type=reset value=Zurücksetzen name=B2></p>";
                echo 
                "</form>"
                Viele Grüße aus dem viel zu heißen Kassel

                Kommentar


                • #9
                  Hallo,

                  ich muss nochmal nachfragen. Das Einlesen der Datei in die Textarea funktioniert jetzt. Wie muss ich jetzt machen, dass nach dem Drücken des "Abschicken"-Buttons der Inhalt der Textarea zurück in die zuvor eingelesene Datei geschrieben wird?

                  Vielen Dank, Chriss

                  Kommentar


                  • #10
                    fopen()
                    fwrite()
                    fclose()
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      So nun habe ich es hinbekommen , habe aber immer noch ein kleines Problem. Ich habe, um das PHP-Script in das Textarea-Feld zu laden, ohne dass es geparst wird, den Text mit der funktion htmlspecialchars() eingelesen.

                      Wenn ich nun die Datei zurückschreibe, habe ich das Problem, dass mir der Text mit Sonderzeichen aufgefüllt wird. Es wird z.B. aus einem " ein \" erstellt. Öffne ich nun nochmals die Datei und schließe diese wieder, so setzt er mir noch ein Backslash davor.

                      Wie verhindere ich, dass er beim Schreiben diese Sonderzeichen einfügt?

                      Übrigens: Vielen Dank für die vielen Antworten!!!

                      Kommentar


                      • #12
                        addslashes()
                        stripslashes()
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          Vielen Dank für die vielen Antworten, es funktioniert jetzt genau so, wie ich es mir vorgestellt habe.

                          Vielen Dank, Chriss

                          Kommentar

                          Lädt...
                          X