Christophe: Neue Datei mit dem Inhalt eines textarea anlegen

Der folgende Script legt eine neue Datei an, die als Inhalt den Text eines textarea hat.   Anschließend wird diese Datei anhand eines Verweises gelesen. Das funktioniert aber mit einer kleiner Einschränkung : unerwünschte Ziffern erscheinen vor dem Verweis nachdem die neue Datei erfolgreich angelegt worden ist.

Was habe ich falsch gemacht oder außer Acht gelassen?
Gruß
Christophe

<html>
<head>
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF]?>" method="post">
<textarea name="textsaved" cols="80" rows="10"></textarea>
<input type="submit" value="speichern unter: ">
<input type="text" name="nameofthefile">
</form>

<?
$cleantext = @stripslashes($textsaved);
$fp = @fopen("$nameofthefile", "w+");
echo @fwrite($fp, "$cleantext", 100);
@fclose($fp);
?>

<a href="<?=$nameofthefile?>" target="<?=$_SERVER['PHP_SELF]?>"><?=$nameofthefile?></a>

</body>
</html>

  1. Moin Christophe,

    »» : unerwünschte Ziffern erscheinen vor dem Verweis nachdem die neue Datei erfolgreich angelegt worden ist.

    hier kann ich dir nicht folgen, wie sieht das aus?

    <textarea name="textsaved" cols="80" rows="10"></textarea>

    bei 80 cols und 10 rows, erscheint mir

    echo @fwrite($fp, "$cleantext", 100);

    der Wert von 100 etwas zu klein!

    Grüße
    Mike

    1. Hallo Mike,

      hier kann ich dir nicht folgen, wie sieht das aus?

      es sieht so aus (nachdem die Datei neu angelegt worden ist)
      :
      35test.php // test.php est ein Verweis

      Gruß
      Christohpe

      1. Moin Christophe,

        35test.php // test.php est ein Verweis

        um ehrlich zu sein, werde ich aus dem ganzen code nicht schlau.

        <a href="<?=$nameofthefile?>"

        Wozu steht hier ?=$name.....

        BTW: ASCII code für $=36

        Grüße
        Mike

        1. Hallo Mike

          <a href="<?=$nameofthefile?>"

          Wozu steht hier ?=$name.....

          $nameofthefile steht für die Variable im imput type="text", zum Beispiel test.php
          Dann mit fopen ist die Datei test.php (das heisst hier $nameofthefile) angelegt

          BTW: ASCII code für $=36

          ASCII code für 36 ist $

          Gruß
          Christophr

          1. Moin Christophe,

            $nameofthefile steht für die Variable im imput type="text", zum Beispiel test.php

            Schon klar, aber wofür steht das =

            <a href="<?=$nameofthefile?>"
            Hier               ^

            Das ergibt ja: <href="=dateiname"> ???

            Grüße
            Mike

            1. Hallo Mike,

              Das ergibt ja: <href="=dateiname"> ???

              Ja, die gerade angelegte Datei wird mit diesem Verweis geöffnet. Ich verstehe jetzt nicht deine Fragezeichen ;) Du kannst den Script uploaden und probieren mit einem "Hallo world" gespeichert unter test.php zB.
              Auf jeden Fall liegt das Problem "nur" in den erscheinenden Ziffern.
              Gruß
              Christophe

              1. Moin Christophe,

                Ich verstehe jetzt nicht deine Fragezeichen ;) Du kannst den Script uploaden und probieren mit einem "Hallo world" gespeichert unter test.php zB.

                Das habe ich getan. Text in die Box, Dateiname eingegeben und den "speichern unter" button geklickt.

                Es ist nichts passiert, kein Fehler, keine neue Datei, die Textbox ist leer und der generierte Quelltext sieht so aus:

                <html>
                <head>
                </head>
                <body>
                <form action="/test.php" method="post">
                <textarea name="textsaved" cols="80" rows="10"></textarea>
                <input type="submit" value="speichern unter: ">
                <input type="text" name="nameofthefile">
                </form>

                <a href="" target="/test.php"></a>

                </body>
                </html>

                Leider kann ich dir nicht weiter helfen. Dein Script kann so gar nicht funktionieren.

                Grüße
                Mike

                1. Hallo Mike,

                  Es funktioniert doch mit der schon erwähnten Einschränkung (unerwünschte Ziffer vor dem Verwis. Den ganzen Script vom ersten mail in einer EINZIGEN .php Datei kopieren. Ich habe den ganzen Tag gearbeitet ihn zu verbessern und funktioniert doch, ehrlich.

                  Irgendwas im texarea schreiben
                  Gruss
                  Christophe
                  Hier nochmals den Script der in einer einzigen .php Datei gehört :

                  <html>
                  <head>
                  </head>
                  <body>
                  <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
                  <textarea name="textsaved" cols="80" rows="10"></textarea>
                  <input type="submit" value="speichern unter: ">
                  <input type="text" name="nameofthefile">
                  </form>
                  <?
                  $cleantext = @stripslashes($textsaved);
                  $fp = @fopen("$nameofthefile", "w+");
                  echo @fwrite($fp, "$cleantext", 100);
                  @fclose($fp);
                  ?>
                  <a href="<?=$nameofthefile?>"><?="$nameofthefile"?></a>
                  </body>
                  </html>

                  1. Moin Christophe,

                    echo @fwrite($fp, "$cleantext", 100);

                    ^^^^
                    Ich habe es endlich gefunden :-)))
                    Das echo muss weg!

                    Gruß
                    Mike

                    --
                    Murphy: "Wenn etwas schiefgehen kann, dann wird es auch schiefgehen."
                    1. Hallo Mike,

                      Vielen Dank! :-))).

                      Gruß
                      Christophe

                      echo @fwrite($fp, "$cleantext", 100);
                         ^^^^
                      Ich habe es endlich gefunden :-)))
                      Das echo muss weg!

  2. Moin Christophe,

    ich habe folgendes gefunden, wobei ich nicht weiß ob das die Ursache ist.

    <form action="<?=$_SERVER['PHP_SELF]?>" method="post">

    ^^^
    Sollte sein: ['PHP_SELF']
                          ^^^

    <a href="<?=$nameofthefile?>" target="<?=$_SERVER['PHP_SELF]?>"><?

    ^^^
    dto

    Grüße
    Mike

    1. Sollte sein: ['PHP_SELF']

      Der Fehler bleibt. Die Ziffer ist immer da. Jetzt das erste Mal 36 und bei allen anderen Versuche 24

      Gruß
      Christophe