Raffi: Formularergebnisse in Textdatei schreiben.

Hallo miteinander

Ich habe folgendes Problem:

Auf meiner Seite soll ein Formular sein, mit einem Textfeld und einem Submit Button.

In das Textfeld soll der Besucher seine Mail Adresse eingragen können.

Beim betätigen des Submit Knopfes soll vorne an die Mailadresse das Zeichen "<" angefügt werden, und hinten das Zeichen ">".

Danach soll der Feldinhalt in eine Textdatei auf dem Webserver auf eine neue Zeile eingefügt werden.

Wie mach ich das?????

Gruss
Raphael

  1. Hi,

    Wie mach ich das?????

    mit CGI, PHP oder einer anderen serverseitigen Technologie. Bei geeigneter Wahl der Programmiersprache ein verhältnismäßig triviales Problem.

    Nein, mit JavaScript oder gar HTML hast Du da keine Chance.

    Cheatah

    1. Hi,
      ich bin auch ein Anfänger in Perl und habe mir über das gleiche Problem auch schon gedanken gemacht.
      Meiner Meinung nach solltest du dir:
      Ein Perl Tutorial runterladen (aber erstmal alles in selfhtml verschlingen!).
      Dann ein script schreiben:

      => eine html-datei mit einem formular
      => ein Perl (meinetwegen auch in ner anderen Sprache) script liest due daten ein
      => du legst Variablen für die Zeichen "<" und ">" fest (z.B $anfang, $ende)
      =>das scripts öffnet eine Textdatei zum reinschreiben. >> nicht vergeßen!!
      =>dann werden die Eingaben erstmal geprüft (ob es auch ne e-mail addy ist und kein dummer kommentar oder gar eine reihe perl-befehle!!)
      =>dann schreibst du in die text-Datei
      print TXT "$anfang $email $ende"

      (die Namen der Variablen mußte selbst verstlegen, und ich bin mir net sicher ob das funzt!)
      Ok ok => wenn mich jetzt ein Programmierer oder freak mit ahnung dafür lynchen will, bitte!
      Ich bin halt ein blutiger Anfänger *g*.

      Ich werde bei Zeit dieses Script für dich schreiben - oder es versuchen (ohne gegenleistung!) *g*. E-mail mir einfach ob du das script noch brauchst.

      David

  2. Hi!

    Deine Frage ist sehr allgemein gestellt. Was erwartest Du jetzt? Daß Dir jemand das Script schreibt und Du es nur
    uploaden mußt? Ich würde Dir gerne helfen, aber ein paar Grundlagen solltest Du Dir schon aneignen. Auf jeden Fall
    brauchst Du dazu ein serverseitiges Script. PHP, Perl oder sowas sollte funktionieren.

    Ciao

    Poldi.

  3. CGI wäre mir am Liebsten. Nur hab ich davon wenig Ahnung.

    Gruss
    Raffi

  4. Hi
    ich weiß: real time beiträge sind unerwünscht! dies war auch nicht meine Absicht. Aber ich konnte dein Problem schneller als erwartet lösen! ich bin ein blutiger Anfänger und dachte ich müßte mir Stundenlang Zeit dafür nehmen *g* => nach 2 minuten hat es geklappt!

    Das script ist einfach eine umgebaute Version eines meiner ersten scripts! Die Kommentare darinen stammen teilweise noch von einem Freund, der mir perl ein wenig erklärt hat.
    => ACHTUNG: du mußt natürlich die url der variable $text richtig angeben und ein schreiben auf diese Datei möglich machen.
    Außerdem möchte ich anmerken, dass ich jegliche Verantwortung für schäden oder mißbrauch dieses scripts von mir weiße! ich tue das nur aus Gefallen und habe keinen Bock verklagt zu werden, weil du damit spammst *g*.

    Des weiteren möchte ich ein wenig über das Verhalten der Programmierer in diesem Forum meckern! ich verstehe ja, dass ihr dieses script nich schnell schreiben wollt => aber wenn ihr schon antwortet, könntet ihr IMO auch eine Link mit angeben, wo der Suchende Hilfe findet. (z.B ein Perl Tutorial!)

    Lange rede kurzer Sinn: hier die scripts:

    1. Die html-datei mit dem Formular
    ____________________________________________________
    <html>
    <head>
    <title>
    In die Liste eintragen
    </title>
    </head>
    <body>
    <h1> Hier kannst du dich in die Liste eintragen: </h1>
    <br>
    <form method=post action="cgi-bin/eintragen.pl" name=F>
    Ihre E-mailadresse: <input type=text name="mail">
    <input type=submit>
    </form>
    </body>
    </html>

    2. Die datei liste.txt (kannste nach belieben mit einem kopf versehen)
    ____________________________________________________
    //e-mail list//
    david.langkamp@trekzone.de

    3. Das eigentliche script:
    ____________________________________________________
    #! c:/perl/bin/perl.exe

    hier wird der Perl-Interpreter geladen!!

    $text = "./../webpages/liste.txt";

    Pfad speichern

    read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
    #alle Daten holen

    @pairs = split(/&/,$buffer);
    #hier werden die Paare getrennt

    foreach $pair (@pairs) {
    #für jedes Paar...   («mail=david.langkamp@trekzone.de» ist ein Paar)

    ($name,$value) = split(/=/,$pair);
    #hier werden Formularfeldname und Formularfelddaten geholt

    $value=~tr/+/ /;
    #hier wird «+» zu « »

    $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
    #hier wird Zeug wie «%F2» zu «(weißnicht?)»

    $FORM{$name} = $value;
    #und hier werden die Daten im FORM-Array gespeichert!

    }

    $no_comments unless $FORM{'mail'};

    hier beginnt jetzt das Programm

    zuerst wird die datei zum schreiben geöffnet

    dann wird ein < geschrieben

    dann wird die e-mail addy geschrieben

    dann wird ein > geschrieben und die datei geschloßen

    die meldung über den Eintrag kannst du ändern

    open(txt,">>$text") die "Kann nicht oeffnen $text: $!\n";
    print txt "<$FORM{'mail'}>\n";
    close(txt);
    print "Content-type: text/html\n\n";
    print "<html><head><title>Danke!</title></head>\n";
    print "<body><h1>Danke schön!</h1><br><br>\n";
    print "Du hast dich in die e-mail liste eingetragen.\n";
    print "</body></html>\n";

    scripted by david.langkamp@trekzone.de

    -------------------------------------------------------------------

    Ok, ok ok - lynchjustiz der programmierer unter euch bitte mal vergeßen!
    ich sage ja nicht, dass dieses script effizient ist, aber es erfüllt seinen Zweck.

    Gruß,

    David

    P.S Bei fragen e-mail mir einfach