Hallo,es gibt zwar schon einige Einträge zu o.g. Thema aber ne Lösung für mein Prob war da leider nich dabei :(
Also:
Ich habe folgendes CGI scrip in perl (soll ledigliche eine bewertung mit nutzername und Passwort entgegennehmen und speichern):
#!/usr/bin/perl -wuse strict;
use CGI::Carp qw(fatalsToBrowser);
# Hier sollen die daten gespeichert werden
my $dateiname = 'bewertung.txt'
# Daten auslesen und in $buffer speichern
if ($ENV{'REQUEST_METHOD'} eq "GET") {
my $buffer = $ENV{'QUERY_STRING'};
} else {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
# Datenstring zerteilen
@nvpairs = split(/&/,$buffer);
# Ich teile den Datenstring in einzelne Teile.
foreach $pair (@nvpairs) {
# Ich decodiere jedes der Teil
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$name} = $value;
}
# Ausgabe in HTML zur Bestätigung
print "Content-type: text/html \n\n";
print "<HTML><HEAD>\n";
print "<TITLE>Bestätigung</TITLE> \n";
print "</HEAD> \n";
print "<h2>Vielen Dank für Ihre Informationen.</h2>\n";
print "Sie gaben ein:<hr><dl>\n";
print "<dd>Ihr Name: $in{'nutzer'}\n";
print "<dd>Ihre Bewertung: $in{'bewertung'}\n";
print "<dd>Ihre Begründung: $in{'begruendung'}\n";
print "<p>";
#Speichern der Daten in bewertung.txt
open(filehandle,">>$dateiname")
|| &Fehlermeldung("Kann die Datei $dateiname nicht öffnen!");
print filehandle "-------Neuer Eintrag-------\n";
print filehandle "Nutzer = $in{'nutzer'}\n";
print filehandle "Passwort = $in{'kennwort'}\n";
print filehandle "bewertung = $in{'bewertung'}\n";
print filehandle "begruendung: $in{'begruendung'}\n\n";
close filehandle;
print "</HTML>\n";
# HTML-Dokument schliessen
exit(0);
#subroutine zur Fehlerbehandlung beim öffnen der Datei
sub Fehlermeldung {
my $text= shift;
print "<P><center>Es ist ein Fehler aufgetreten:<br>";
print "$text\n";
print "</center>";
print "<p>Programm wird abgebrochen.\n";
print "</HTML>\n";
exit(1);
}
Die datei liegt im verzeichnis cgi-bin und hat die Rechte 755. Daran sollte es also nich liegen.
Ich benutze einen Apache Webserver. Habe bei den "options" ExecCGI noch hinzugfügt. Hier ist allerdings weiter unten noch dieser eintrag:
# "/Apache2//cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/Apache2//cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Hier hab ich Options auch schon auf All gehabt, hat aber nichts gebracht.
Woran könnte diese Fehlermeldung liegen?
Danke euch schonmal im Voraus.
Liebe Grüße und Gute Nacht ... Jana :)
Datum: 08.01.2006-01:28
