kostenloser Webspace werbefrei: lima-city


daten aus Textfeld in Textdatei speichern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mtw-datenbank

    mtw-datenbank hat kostenlosen Webspace.

    hallo @ all.

    Wie kann ich die daten aus einem input (text) mittels PHP in eine textdatei schreiben?

    also die Site sieht zur Zeit i.E. so aus:

    <html>
    <head>
    <title>MEINE SITE</title>
    </head>
    <body>
    
    <h1>INPUT</h1>
    
    <form action="input_text.htm">
      <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p>
      <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p>
    <p><input name="submit" type="button"></p>
    </form>
    
    </body>
    </html>


    welches PHP-Script brauche ich , um bei einem Klick auf den BUtton die Daten aus den obrigen Feldern in eine textdatei (daten.txt) schreiben?

    in der txt sollten die Daten in folgendem oder ähnlichem Schema stehen:

    DATEN DES 1 FELDES
    ;LEERZEILE;
    ;LEEREILE;
    DATEN DES 2 FELDES



    Die Möglichkeit, in eine SQL zu schreiben lehne ich strikt ab...


    Wie könnte man das lösen?

    LG

    MTW-Datenbank
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. d******f

    Ich speichere meine Daten so:
    $datei = fopen("kurspreis.txt","w+");
              rewind($datei);
              fwrite($datei, $preis);
              fclose($datei);

    Dann wird die variable "preis" in die Datei "kurspreis" geschrieben.
  4. Autor dieses Themas

    mtw-datenbank

    mtw-datenbank hat kostenlosen Webspace.

    Also ich müsste z.B. so machen

    <? php
    
    $datei = fopen("datei.txt","w+");
    rewind ($datei);
    fwrite($datei, $var1);
    fwrite($datei, $var2);
    fclose($datei);
    ?>

    dass kommt in den <head> oder?

    und wie kann ich die daten des feldes 1 in die varriable var1 und die des feldes 2 in die var2 schreiben?
    und mit dem button absenden?

    aber danke schonmal

    lg


    Beitrag zuletzt geändert: 27.1.2011 9:53:42 von mtw-datenbank
  5. d******f

    Habe da mal kurz was für dich geschrieben ... allerdings werden die Daten in einer zeile mit einem "Leerzeichen" getrennt. Ich gehe mal davon aus, das du noch ein Anfänger in php bist und habe dir mal ein paar hinweise hinterlassen. Bitte nicht böse sein, wenn du keiner mehr bist.
    <html>
    <head>
    <title>MEINE SITE</title>
    </head>
    <body>
    
    <h1>INPUT</h1>
    <?php
    //prüft ob form benutzt
    if ($_POST['submit']){
    //liest Daten aus dem Form aus
    $daten1=$_POST['DATEN1'];
    $daten2=$_POST['DATEN2'];
    //fügt daten zusammen getrennt durch ein leerzeichen
    $alledaten= $daten1 . " " . $daten2;
    //schreibt die Daten in textfile
              $datei = fopen("kurspreis.txt","w+");
              rewind($datei);
              fwrite($datei, $alledaten);
              fclose($datei);
    
    //wenn form nicht benutzt (das kommt nach den else)
    }else{
    ?>
    <form action="input_text.php">
      <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p>
      <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p>
    <p><input name="submit" type="button"></p>
    </form>
    
    <?php
    //das mit dem prüfen entgültig schließen
     } 
    ?>
    </body>
    </html>


    Die ganz Datei muss dann input_text.php heißen, denn html schafft das nicht^^

    Beitrag zuletzt geändert: 27.1.2011 10:09:47 von das-dorf
  6. Autor dieses Themas

    mtw-datenbank

    mtw-datenbank hat kostenlosen Webspace.

    also sieht es bei mir so aus:

    <html>
    <head>
    <title>MEINE SITE</title>
    </head>
    <body>
    
    <h1>INPUT</h1>
    <?php
    //prüft ob form benutzt
    if ($_POST['submit']){
    //liest Daten aus dem Form aus
    $daten1=$_POST['DATEN1'];
    $daten2=$_POST['DATEN2'];
    //fügt daten zusammen getrennt durch ein leerzeichen
    $alledaten= $daten1 . " " . $daten2;
    //schreibt die Daten in textfile
              $datei = fopen("daten.txt","w+");
              rewind($datei);
              fwrite($datei, $alledaten);
              fclose($datei);
    
    //wenn form nicht benutzt (das kommt nach den else)
    }else{
    ?>
    <form action="input_text.php">
      <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p>
      <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p>
    <p><input name="submit" type="button"></p>
    </form>
    
    <?php
    //das mit dem prüfen entgültig schließen
     } 
    ?>
    </body>
    </html>


    kann meine php-file auch index.php heißen?

    danke
  7. d******f

    Ja klar, dann muss die Action vom Form allerdings auch auf index verweisen, also [...]action="index.php"[...]

    EDIT: Noch was dein form muss am Anfang so aussehen:
    <form action="index.php"  method="post">


    Beitrag zuletzt geändert: 27.1.2011 10:15:18 von das-dorf
  8. Autor dieses Themas

    mtw-datenbank

    mtw-datenbank hat kostenlosen Webspace.

    <html>
    <head>
    <title>MEINE SITE</title>
    </head>
    <body>
    
    <h1>INPUT</h1>
    <?php
    //prüft ob form benutzt
    if ($_POST['submit']){
    //liest Daten aus dem Form aus
    $daten1=$_POST['DATEN1'];
    $daten2=$_POST['DATEN2'];
    //fügt daten zusammen getrennt durch ein leerzeichen
    $alledaten= $daten1 . " " . $daten2;
    //schreibt die Daten in textfile
              $datei = fopen("daten.txt","w+");
              rewind($datei);
              fwrite($datei, $alledaten);
              fclose($datei);
    
    //wenn form nicht benutzt (das kommt nach den else)
    }else{
    ?>
    <form action="index.php" method="post">
      <p>Vorname:<br><input name="DATEN1" type="text" size="30" maxlength="30"></p>
      <p>Zuname:<br><input name="DATEN2" type="text" size="30" maxlength="40"></p>
    <p><input name="submit" type="button"></p>
    </form>
    
    <?php
    //das mit dem prüfen entgültig schließen
     } 
    ?>
    </body>
    </html>


    wäre das so korrekt?

    danke dir
  9. d******f

    Ich würde es ausprobieren^^
    Versuch nochmal das "DATEN1" & "DATEN2" überall im Code nach "dateneins" & "datenzwei" zu ändern, manchmal hatte ich massive Probleme mit der Zahl in der Variablen.

    Also nimm den:
    <html>
    <head>
    <title>MEINE SITE</title>
    </head>
    <body>
    
    <h1>INPUT</h1>
    <?php
    //prüft ob form benutzt
    if ($_POST['submit']){
    //liest Daten aus dem Form aus
    $dateneins=$_POST['dateneins'];
    $datenzwei=$_POST['datenzwei'];
    //fügt daten zusammen getrennt durch ein leerzeichen
    $alledaten= $dateneins . " " . $datenzwei;
    //schreibt die Daten in textfile
              $datei = fopen("daten.txt","w+");
              rewind($datei);
              fwrite($datei, $alledaten);
              fclose($datei);
    
    //wenn form nicht benutzt (das kommt nach den else)
    }else{
    ?>
    <form action="index.php" method="post">
      <p>Vorname:<br><input name="dateneins" type="text" size="30" maxlength="30"></p>
      <p>Zuname:<br><input name="datenzwei" type="text" size="30" maxlength="40"></p>
    <p><input name="submit" type="button"></p>
    </form>
    
    <?php
    //das mit dem prüfen entgültig schließen
     } 
    ?>
    </body>
    </html>


    Beitrag zuletzt geändert: 27.1.2011 10:25:14 von das-dorf
  10. Aktuell hast du aber noch ein kleines Problem. Das Trennen der 2 Daten mittels Leerzeichen ist zwar im Allgemeinen okay, aber sobald ein Benutzer ein Datum mit Leerzeichen eingibt kannst du später anhand deiner Textdatei nicht mehr Rekonstruieren was jetzt Datum 1 und was Datum 2 ist.

    Daher war deine Idee mit einer Leerzeile denke ich schon etwas besser. ( Das scheitert natürlich auch sobald du zur Eingabe deiner Informationen eine Textarea nutzt und somit auch Zeilenumbrüche zulässt.

    Das kannst du realisieren indem du aus

    $alledaten= $daten1 . " " . $daten2;



    folgendes machst:

    $alledaten= $daten1 . "\r\n" . $daten2;


    In meinem Beispiel wird keine Leerzeile gelassen, sondern nur die Information in die nächste Zeile geschrieben. Wenn du jetzt noch eine Leerzeile haben möchtest brauchst du nur noch einmal
    \r\n
    einfügen.

    Und das rewind sollte an dieser Stelle auch nicht benötigt werden. (Ich habe es noch nie benutzt^^)
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!