Datei editieren

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

  • Datei editieren

    hi leute! ich hab mir von codeschnippsel.net einen kleinen fetzen gehohlt, präzise: ein editierscript für dateien.
    leider kommen beim ausführen immer die fiesen backslashes in die datei geschrieben vor " und '

    hier erstmal der originalcode:

    PHP-Code:
    <?php

       $file 
    "update.txt";

       echo 
    "<form action=\"$PHP_SELF\" method=\"POST\">";
       echo 
    "<textarea name=\"text\" cols=\"50\" rows=\"5\">";
       
    readfile($file);
       echo 
    "</textarea><BR>";
       echo 
    "<input type=\"submit\" name=\"gesendet\" value=\"speichern\">";
       echo 
    "</form><BR>";

       if (
    $gesendet) {
          
    $datei_speichern=fopen($file"w");
          
    fwrite ($datei_speichern$_POST['text']);
          
    fclose($datei_speichern);
          echo 
    "Änderung erfolgreich";
       }

    ?>
    ich weiß ja so ungefähr wie man das beheben kann, z.b. mit

    PHP-Code:
    $Name=stripslashes($Name);
    $Name=strtr($Name,"'","'"); 
    und hier mein versuch der leider nicht funktioniert

    PHP-Code:
    <?php

       $file 
    "update.txt";

       echo 
    "<form action=\"$PHP_SELF\" method=\"POST\">";
       echo 
    "<textarea name=\"text\" cols=\"50\" rows=\"5\">";
       
    readfile($file);
       echo 
    "</textarea><BR>";
       echo 
    "<input type=\"submit\" name=\"gesendet\" value=\"speichern\">";
       echo 
    "</form><BR>";

       if (
    $gesendet) {
          
    $datei_speichern=stripslashes($datei_speichern);
          
    $datei_speichern=strtr($datei_speichern,"'","'");
          
    $datei_speichern=fopen($file"w");
          
    fwrite ($datei_speichern$_POST['text']);
          
    fclose($datei_speichern);
          echo 
    "Änderung erfolgreich";
       }

    ?>
    ich bitte um eure mithilfe, bin schon total deprimiert
    you web-freak
    web-freaks.tk

  • #2
    du strippst die slashes in einer variable, speicherst in die datei jedoch eine andere.

    Kommentar


    • #3
      ich habs ja auch scho mit $file probiert, funktioniert leider nicht
      you web-freak
      web-freaks.tk

      Kommentar


      • #4
        codeschnippsel bringen dich nicht weiter. gib dir mühe und finde heraus, was die funktion fwrite tut und was ihr übergeben wird. dann schaust du, was du ihr übergibst. und dann überlegst du, was du 'stripslash'en sollst.

        Kommentar


        • #5
          ich habs schon mal hinbekommen dass er das anführungszeichen wegslasht!!

          PHP-Code:
          <?php

             $file 
          "update.txt";

             echo 
          "<form action=\"$PHP_SELF\" method=\"POST\">";
             echo 
          "<textarea name=\"text\" cols=\"50\" rows=\"5\">";
             
          readfile($file);
             echo 
          "</textarea><BR>";
             echo 
          "<input type=\"submit\" name=\"gesendet\" value=\"speichern\">";
             echo 
          "</form><BR>";

             if (
          $gesendet) {
                
          $_POST=stripslashes($text);
                
          $datei_speichern=fopen($file"w");
                
          fwrite ($datei_speichern$_POST['text']);
                
          fclose($datei_speichern);
                echo 
          "Änderung erfolgreich";
             }

          ?>
          und geht das mit dem ' ?
          you web-freak
          web-freaks.tk

          Kommentar


          • #6
            fast richtig. nur - was strippst du nun?

            Kommentar


            • #7
              na alles was mit post übergeben wurde!
              you web-freak
              web-freaks.tk

              Kommentar


              • #8
                nein.
                wenn du nicht anfängst nachzuschlagen, können wir noch lange rätseln, denn:

                $_POST ist ein array, dem nichts zugewiesen werden soll.
                während stripslashes ein string zurückgibt.

                Kommentar


                • #9
                  sorry, ich kann noch nicht so gut php! hab keine ahung wovon du redest
                  you web-freak
                  web-freaks.tk

                  Kommentar


                  • #10
                    du schreibst in die datei den inhalt von $_POST['text']. nicht wahr?
                    es ist doch keine meisterleistung zu sehen, WAS nun gestrippt werden soll. nicht $x und nicht $y, sondern...?

                    Kommentar


                    • #11
                      $text ! aber das hatte ich ja auch schon probiert!
                      you web-freak
                      web-freaks.tk

                      Kommentar


                      • #12
                        dir fehlt's an kombinatorischen ansätzen?

                        wenn A nen text enthält, der gestrippt werden soll, bevor er in die datei geschrieben wird, wozu B strippen?

                        Kommentar


                        • #13
                          Kleiner Tipp:

                          Bei Formularen bzw. bei HTML wäre es sinnvoller Hochkommas zu benutzen!

                          PHP-Code:
                           echo '<form action="dsf" method="post">'
                          dann brauchst die Anfürhungszeichen nicht escapen mit \

                          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                          sondern mit den Augen das Manual zu lesen.

                          Kommentar


                          • #14
                            ok, das geht jetzt hab ich nur noch 1 problem: die \
                            hast du da auch noch einen tipp?
                            you web-freak
                            web-freaks.tk

                            Kommentar


                            • #15
                              magst du es nicht verstehen?

                              Kommentar

                              Lädt...
                              X