LCS Freak: mit php txt erstellen

Tach,
Gibt es so einen fertigen skript?

Man hat einforular mit einem textfeld und einem sendebutton.
wenn man was in das feld schreibt und auf senden klickt, soll eine TXT datei mit dem inhalt des textfeldes erstellt werden.

also praktisch ein formmailer, nur ohne email, sondern der ne txt aufm server erstellt

kann mir da jemand helfen?
hab schon gegoogled, ich find aber nichts...
bitte :(

  1. also,
    ich hab jetzt über google das da gefunden.
    aber wenn ich das öffnen will, in der datei, wird gar nichts angezeigt. einfach weißer screen...hilfe?

    -------------------------------------------------
       <?php

    if(array_key_exists('sent', $_POST)) {

    // Mal schauen, was da so übergeben wurde
            echo '<pre>';
            print_r($_POST);
            echo '</pre>';

    $handle = fopen($_POST['filename'] . '.txt', 'a');

    // Daten in die Datei schreiben. Nutze dazu die oben erwähnte Funktion :idea:

    fclose($handle);

    }
        else {

    printf('<form action="%s" method="post">
                       <input type="text" name="filename" /><br />
                       <input type="text" name="data" /><br />
                       <input type="submit" name="sent" value="datei erstellen" /><br />
                    </form>
                   ', $_SERVER['PHP_SELF']);
        }

    ?>

    1. Salut!

      aber wenn ich das öffnen will, in der datei, wird gar nichts angezeigt. einfach weißer screen...hilfe?

      Das wäre allerdings auch ein Wunder;)

      Deinem Script fehlt etwas wichtiges!

        
      
      >         $handle = fopen($_POST['filename'] . '.txt', 'a');  
      
      

      Ok! Du öffnest eine Datei und speicherst das Handle in einer Variablen.

        
      
      >         // Daten in die Datei schreiben. Nutze dazu die oben erwähnte  
      
      

      Du notierst hier eine Idee im Kommentar

        
      
      >         fclose($handle);  
      
      

      Du schließt die Datei wieder - es fehlt der schreibende Zugiff auf die Datei.

      Nutze vor dem fclose noch fwrite

      BTW: wozu brauchst Du das? Du solltest dir bei diesem Script noch einige Gedanke bzgl. der Sicherheit machen.

      au relire

      Sven aus M.

      1. Also, danke schonmal.
        Sicherheit ist kein Problem, da das form hinter einem passwort liegt und somit nur für personen meines vertrauens erreichbar ist.

        hm...
        also ich habe jetzt die Datei, so wie sie in meinem letzten post war, nur eben als php datei gespeichert, hochgeladen und rechte auf 777 gesetzt.
        Alles funktioniert. es wird auch die TXT datei erstellt und mit den daten beschrieben.
        Nur, ich kann sie so nicht in meine seite (in eine html datei) einbauen.

        und wie du das mit handle,fclose und fwrite meinst verstehe ich nicht.
        Ich kann nur html und kaum php.
        Wärst du bitte so nett und könntest meinen quellcode ergänzen mit diesen befehlen?

        Danke ;)

        1. Salut!

          Sicherheit ist kein Problem,

          Das ist eine gefährliche Aussage - komm wieder her und wir reden darüber ;)

          also ich habe jetzt die Datei, so wie sie in meinem letzten post war, nur eben als php datei gespeichert, hochgeladen und rechte auf 777 gesetzt.

          777 ist keine gute Idee - weißt Du was das bedeutet, oder hast du einfach mal ausprobiert?

          Alles funktioniert. es wird auch die TXT datei erstellt und mit den daten beschrieben.

          Ohne fwrite oder fputs in deinem Code?

          Nur, ich kann sie so nicht in meine seite (in eine html datei) einbauen.

          Was genau hast Du vor?
          Mit HTML kannst du keine Dateien, 'einbauen' aber es gibt Möglichkeiten (z.B.) in PHP dynamisch eine HTML-Datei zu erzeugen, die dann auch statisch als 'datei.html' auf dem Server vorhanden ist.

          und wie du das mit handle,fclose und fwrite meinst verstehe ich nicht.

          Fang mal damit an:

          http://de.php.net/manual/de/function.fopen.php
          http://de.php.net/manual/de/function.fwrite.php
          http://de.php.net/manual/de/function.fclose.php

          Ich kann nur html und kaum php.

          Das macht ja nix - wobei 'kaum' schon etwas geflunkert ist oder ;)

          Wärst du bitte so nett und könntest meinen quellcode ergänzen mit diesen befehlen?

          Ja das könnte ich - mache ich aber nicht;)
          Das wäre eine Verletzung der hiesigen Gottheit('das heilige SELF')

          Mein Vorschlag: du besuchst die oben erwähnten Links - und auch gerne mehr von der offiziellen PHP-Doku - und kommst dann wieder hierher.

          Dann kannst Du detaillierte(re) Fragen stellen - das mag man hier gerne - und dir wird bestimmt geholfen.

          au relire

          Sven aus M.

          1. -.-
            Danke

            Also, mein Skript sieht im Momoment so aus und es geht alles!

              
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
            <html xmlns="http://www.w3.org/1999/xhtml">  
            <head>  
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
            <title>Untitled Document</title>  
            </head>  
              
            <body>  
              
              
              
               <?php  
                /**  
                 * created on 06.09.2005  
                 * @author Ben  
                 */  
              
              
                if(array_key_exists('sent', $_POST)) {  
              
                    // Mal schauen, was da so übergeben wurde  
                    echo '<pre>';  
                    print_r($_POST);  
                    echo '</pre>';  
              
                    $handle = fopen($_POST['filename'] . '.txt', 'a');  
              
                    // Daten in die Datei schreiben. Nutze dazu die oben erwähnte Funktion :idea:  
              
                    fclose($handle);  
              
                }  
                else {  
              
                    printf('<form action="%s" method="post">  
                               <input type="text" name="Datum" /><br />  
                               <input type="password" name="Nachricht" /><br />  
                               <input type="submit" name="sent" value="Senden" /><br />  
                            </form>  
                           ', $_SERVER['PHP_SELF']);  
                }  
              
            ?>  
            </body>  
            </html>  
            
            

            Was nun noch mein Ziel wäre, ist, das ganze in meine schon bestehende seite "einzubauen". also, das man in meiner Imdex.html (Die hauptseite)
            die 2 Eingabefelder und den button sehen kann.

            wie mach ich dasam besten?