Problem mit Formular und Perl
R2D21990
- perl
0 Jörg Peschle
Also )
Das Hir ist jetzt mein formular.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
</head>
<body bgcolor="##808080">
<h1 align="center">Test</h1>
<form action="/cgi-bin/test.pl" method="post">
<p align="center">ID:<br><input type="text" name="ID" size="25" maxlength="13"></p>
<p align="center">PW:<br><input type="text" name="PW" size="25" maxlength="13"></p>
<p align="center"><input type="submit" value="Absenden"></p>
</form>
</body>
</html>
Und das wirt ja dan weitergegeben nach cgi-bin/test.pl datei auf meinem server
Diese Hir.
use strict;
use CGI::Carp qw(fatalsToBrowser);
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;
}
print "Content-type: /text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
print "<html><head><title>Your Account dats</title></head>\n";
print "<body><h1>Deine ID & PW</i></h1>\n";
print "<p><b>ID:</b> $Formular{ID}</p>\n";
print "<p><b>PW:</b> $Formular{PW}</p>\n";
print "</body></html>\n";
Und wen ich dan aber auf senden Klick öffnet sich der Download link für die .pl datei
Wie mach ich das jetzt das er da keine download link brinkt sonder das er die eingaben aus dem formular an eine date auf meinem server sendet ??
Danke schon mal )
MFG
Moin,
Wie mach ich das jetzt das er da keine download link brinkt sonder das er die eingaben aus dem formular an eine date auf meinem server sendet ??
Dein Web-Server muss dazu überhaupt erstmal wissen, was so ein Perl-Programm eigentlich ist.
Beim Apache-Webserver z.b. brauchst Du dazu:
Viele Webserver habeb ein eigenes Verzeichnis namens "cgi-bin", in welchem der Webserver Programme erwartet und folglich in diesem verzeichnis auch ausführen kann:
-> Schau erstmal, ob Du auch so ein Verzeichnis hast, und kopier dein Skript da rein, möglicherweise wars das schon.
Falls es das nicht ist, musst Du dich wohl oder übel näher mit der Konfiguration deines Webservers beschäftigen.
Viele Grüße,
Jörg
ja allso ich hab den apache server
hab auch die test.pl im ordner
"cgi-bin" drin wen ich jetzt was ins formular eingebe
öffnet sich eine neue seite und da steht
ID: das was ich eingegeben hab ins formular
PW: " " " "
also irgen wie geht das ja schon nur wie schickt der das
jetzt wieder zurück an den server ??
Danke schon mal :)
MFG
Hi allso ich hab das jetzt so weit hin bekommen das er jetzt auf dem server eine neue datei erstält aber da nichts rein schreibt
open(DATEI, ">>test.txt") || die "Datei nicht gefunden";
my @Zeilen = <ID>;
close(DATEI);
was muss ich hir noch anhängen das er das aus dem formular dort rein schreibt??
Danke schon Mal:))
MFG
Hallo,
open(DATEI, ">>test.txt") || die "Datei nicht gefunden";
my @Zeilen = <ID>;
close(DATEI);
Bei dem Teil oben würdest du etwas aus einer Datei einlesen
my @Zeilen = <ID>;
, das würde die Zeilen aus einer Datei mit dem Handle "ID" einlesen.
Du willst aber ja was hineinschreiben, und das geht z.b. so:
my $variable = "Ein Test";
print DATEI $variable;
close(DATEI);
Ich empfehl Dir aber dringend, dich nochmal eingehend mit Perl zu beschäftigen - in SELFHTML findest Du alles, was Du brauchst.
Viele Grüße,
Jörg