Thread Programmierung eines vernetzten Eingabeformulars (4 answers)
Opened by Gast at 2005-01-11 15:53

Bionicman
 2005-01-13 01:51
#4063 #4063
User since
2005-01-13
2 Artikel
BenutzerIn
[default_avatar]
Okay, danke für die Tipps!

Habe ein Code-Beispiel aus dem angegebenen Tutorial auf einem Apache Server ausprobiert.
Das hier ist meine html-Seite:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Kommentarseite</title>
</head>
<body bgcolor="#E0E0E0">
<h1>Ihr Kommentar</h1>
<form action="/cgi-bin/comments.pl" method="post">
<p>Name:<br><input size="40" maxlength="40" name="AnwenderName"></p>
<p>Text:<br><textarea rows="5" cols="50" name="Kommentartext"></textarea></p>
<p><input type="submit" value="Absenden"></p>
</form>
</body>
</html>

Und das hier mein CGI/PERL Skript:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);
read(STDIN, my $Daten, $ENV{'CONTENT_LENGTH'});

open(PRINTIT,">/usr/local/daten.txt");
print PRINTIT "foo";
close(PRINTIT);

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/</&lt;/g;
$Wert =~ s/>/&gt;/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>CGI-Feedback</title></head>\n";
print "<body><h1>CGI-Feedback vom Programm <i>comments.pl</i></h1>\n";
print "<p><b>Name:</b> $Formular{AnwenderName}</p>\n";
print "<p><b>Kommentartext:</b> $Formular{Kommentartext}</p>\n";
print "</


Mein Problem ist nur, dass ich keine Datei erstellt bekommen, in die ich die über das Formular eingegebenen Daten ablegen kann.
Die Zeilen:

open(PRINTIT,">/usr/local/daten.txt");
print PRINTIT "foo";
close(PRINTIT);

sollten im Perl-Skript meines Erachtens ausreichen um eine Datei zu erstellen?! Oder gibt's da evtl. Probleme mit Schreibrechten (der angegebene Ordner hat sämtliche Schreibrechte/Ausführbarkeiten?

View full thread Programmierung eines vernetzten Eingabeformulars