Daten abspeichern
Dani
- perl
Hallo,
Wird sehrwahrscheinlich nicht so schwierig sein, was mich seit gestern plagt... Wer hilft mir, das Problem zu lösen, dass ich meine Daten aus einem HTML-Formular über das .pl-Script in eine von mir angelegte Datei abspeichern kann?
Beispiel: im Formular beinhaltet das Feld "name" den Namen des Users. Mit dem .pl-Sript will ich auf diesen Namen zugreifen und ihn in einer Datei mir den restlichen 5 Feldern (Vorname, Email, etc.) abspeichern.
Kann mir jemand den passenden .pl-Code dazu schicken?
Danke und Grüsse
Dani
Halihallo Dani
[pref:t=56986&m=318736], bleib bitte beim alten Thread, Doppelpostings sind
unerwünscht. Falls du Fragen hast, stehen wir dir gerne zur Seite, aber im alten Thread
und ohne ganze Listings.
Viele Grüsse
Philipp
Sorry, wollt' ich nicht! Aber irgendwie scheint heute alles schief zu laufen. Eigentlich wollte ich nur mitteilen, dass ich mit deiner Hilfe so nicht weiterkomme.
Open, close etc. kenne ich. Mein Problem ist, dass ich nicht weiss wie ich diese in Perl über write in mein Datenfile abspeichern kann.
Winkend
Halihallo Dani
Sorry, wollt' ich nicht! Aber irgendwie scheint heute alles schief zu laufen. Eigentlich wollte ich nur mitteilen, dass ich mit deiner Hilfe so nicht weiterkomme.
Das ist zwar logisch, gehört jedoch trotzdem in den alten Thread; für's nächste mal.
Open, close etc. kenne ich. Mein Problem ist, dass ich nicht weiss wie ich diese in Perl über write in mein Datenfile abspeichern kann.
mit "write"? - Also, wenn du die Daten nicht umbedingt grossartig formatieren willst,
wäre print ggf. die einfachere Wahl.
Wo genau hast du denn ein Verständnisproblem? - Was funktioniert genau nicht? - Hast du
vielleicht bereits einen Code, wo man mit Antworten ansetzen kann?
Viele Grüsse
Philipp
a) das mit dem neuen Thread hat zwar nicht mit dem zu tun, dass ich blond bin, dafür braun (alles klar?!!)
b)mein unbrauchbarer Code:
$test = "test/test.txt";
open(DATEI, ">>$test");
while(<DATEI>)
{
und hier sollte das drin stehen, was bei mir nicht funktioniert.
Aus dem HTML-Formular will ich name, vorname, email, etc auslesen und in mein File test.txt abspeichern.
Wie gesagt, sehrwahrscheinlich pipi-einfach, aber bei mir klappt's nicht :(
}
close(DATEI);
Saludos Dani
Hallo,
$test = "test/test.txt";
open(DATEI, ">>$test");
und wird die Datei auch wirklich geöffnet? In Deinem Code fehlt eindeutig die Überprüfung ob das öffnen auch funktioniert hat.
while(<DATEI>)
{
Du verwechselst Lesen und Schreiben. Du öffnest Die Datei zum Schreiben (wobei an eine bestehende Datei angehängt werden soll) und probierst dann daraus zu lesen. das kann nicht funktionieren.
und hier sollte das drin stehen, was bei mir nicht funktioniert.
Hast Du Dir einmal http://selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#open durchgelesen? Dort findest Du auch ein BEispiel, wie man Dein Problem lösen könnte.
Grüße
Klaus
Hallo Klaus,
Hurrah, es hat geklappt :)))))
Meine Daten aus dem Formular werden nun in mein Textfile geschrieben.
Mein Code dazu sieht so aus:
#!/perl/cgi-bin/perl -w
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
if($ENV{'REQUEST_METHOD'} eq 'GET'){
$Daten = $ENV{'QUERY_STRING'}
}
else{
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
}
@Formularfelder = split(/&/, $Daten);
my @NeueZeilen;
foreach(@Formularfelder) {
$_ =~ s/#.*//;
push(@NeueZeilen,$_) if $_ !~ /^\s*\n/;
}
open(DATEI, ">>test/test.txt") || die "Datei nicht gefunden";
print DATEI @NeueZeilen;
close(DATEI);
Nun muss ich das Ganze noch sinnvoll formatieren.
Vielen lieben Dank für deinen Tipp.
Greetz, Dani