Daniel: Daten in txt-Datei schreiben

Hallo,

Folgendes: Ich möchte ein Einfaches HTML-Formular mit verschiedenen Feldern z.B. Name, Straße, Ort, Plz. Wenn ich die Felder im Formular ausfülle sollen die Daten anschließend in eine txt Datei geschrieben werden. Pro Datensatz eine Zeile und die Felder (Name, Straße...) durch ; getrennt.

Wie könnte man das umsetzen. Hat jemand vielleicht eine Script  Vorlage?

Danke für eure Hilfe.

  1. Hallo

    Folgendes: Ich möchte ein Einfaches HTML-Formular mit verschiedenen Feldern z.B. Name, Straße, Ort, Plz. Wenn ich die Felder im Formular ausfülle sollen die Daten anschließend in eine txt Datei geschrieben werden. Pro Datensatz eine Zeile und die Felder (Name, Straße...) durch ; getrennt.

    Wie könnte man das umsetzen. Hat jemand vielleicht eine Script  Vorlage?

    http://www.selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#open

    Sowas wie:

    open (DATEI, ">Datei.txt");
    print DATEI "$Formular{Name}; $Formular{Srasse}...\n";
    close (DATEI);

    müsste klappen. $Formular{Name} setzt aber vorraus, dass du oben in die Perl-Datei

    read(STDIN, my $Daten, $ENV{'CONTENT_LENGTH'});
    my @Formularfelder = split(/&/, $Daten);
    my ($Feld, $Name, $Wert);
    my %Formular;
    foreach $Feld (@Formularfelder) {
      (my $Name, my $Wert) = split(/=/, $Feld);
      $Wert =~ tr/+/ /;
      $Wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      $Wert =~ s/</</g;
      $Wert =~ s/>/>/g;
      $Formular{$Name} = $Wert;
     }

    stehen hast.

    MFG Philipp

    1. Hi,

      $Formular{Name} setzt aber vorraus, dass du oben in die Perl-Datei
      [...] stehen hast

      Was spricht an dieser Stelle gegen die Verwendung von CGI.pm?

      Viele Grüße
      Torsten

      1. Oh, das geht mir zu schnell.

        Ich hab ein HTML-Eingabeformular mit den Textfeldern: Name, Strasse usw. Die Daten werden dann mit der Methode POST an das Perlscript gesendet welches die Daten in die Datei schreiben soll. Genügt mir dann folgendes Script?

        open(out,">datei.txt");
        print out $name.";".$strasse.";".$plz.";".$ort."\n";
        close out;

        Tut mir leid wenn ich Nachfrage, aber ich bin in Perl noch nicht so fitt.

        DANKE

        1. Hi,

          Ich hab ein HTML-Eingabeformular mit den Textfeldern: Name, Strasse usw. Die Daten werden dann mit der Methode POST an das Perlscript gesendet welches die Daten in die Datei schreiben soll. Genügt mir dann folgendes Script?

          Nein, noch nicht ganz. Du musst dir zuerst die Werte holen, die aus dem Formular kommen.
          http://selfhtml.teamone.de/cgiperl/module/cgi.htm#formularverarbeitung

          Dann kannst du wie hier beschrieben, deine Werte in die Textdatei schreiben:
          http://selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#open

          Achte auch darauf, wie du die Datei öffnest. ">" überschreibt alles, was bisher in der Datei stand, vielleicht willst du das aber gar nicht. Und denke daran, mögliche Fehler beim Öffnen abzufragen.

          Viele Grüße
          Torsten

  2. Hallo,

    Folgendes: Ich möchte ein Einfaches HTML-Formular mit verschiedenen Feldern z.B. Name, Straße, Ort, Plz. Wenn ich die Felder im Formular ausfülle sollen die Daten anschließend in eine txt Datei geschrieben werden. Pro Datensatz eine Zeile und die Felder (Name, Straße...) durch ; getrennt.

    Wie könnte man das umsetzen. Hat jemand vielleicht eine Script  Vorlage?

    open(out,">datei.txt");
    print out $name.";".$strasse.";".$plz.";".$ort."\n";
    close out;