diff options
Diffstat (limited to 'Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl')
| -rw-r--r-- | Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl new file mode 100644 index 0000000..7de1fec --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl @@ -0,0 +1,71 @@ +#!C:/apachefriends/xampp/perl/bin/perl.exe -w
+
+#!C:/apache/Perl/nsperl.exe -w
+# Die 1. Zeile ist die Shebang-Zeile und enthält den Pfad zum Perl-Interpreter
+
+## echo.pl
+## Dieses Perl-Skript schickt Formulardaten an den Client zurück
+## Bernhard Kreling, 26.4.2002
+
+# HTTP-Header für Antwort an Browser:
+print "Content-type: text/html\n\n";
+
+# HTML-Datei schreiben:
+print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
+print "<html>\n";
+print "<head>\n";
+print " <title>CGI-Formular-Echo</title>\n";
+print "</head>\n";
+print "<body>\n";
+print " <h3>Formular-Echo</h3>\n";
+print " <p>Sie haben folgende Formulardaten mit der Methode ";
+
+# Formulardaten übernehmen abhängig von der Request-Methode:
+my $ParameterString;
+if ($ENV{'REQUEST_METHOD'} eq 'GET')
+{
+ print "GET";
+ $ParameterString = $ENV{'QUERY_STRING'};
+}
+elsif($ENV{'REQUEST_METHOD'} eq 'POST')
+{
+ print "POST";
+ read(STDIN, $ParameterString, $ENV{'CONTENT_LENGTH'});
+ # auf mmlab erscheint die Meldung "HTTP/1.1 100 Continue" - warum auch immer...
+}
+print " übermittelt.</p>\n";
+
+# Formulardaten als undekodierten String zurücksenden:
+print " <p><strong>ParameterString:</strong><br> $ParameterString </p>\n";
+
+# Formulardaten in einzelne Parameter zerlegen mit '&' als Trenner:
+my @ParameterListe = split(/&/, $ParameterString);
+
+print " <p><strong>Einzelne Parameter:</strong><br>\n";
+my $Parameter;
+foreach $Parameter (@ParameterListe)
+{
+ # Parameter in Name und Wert zerlegen mit '=' als Trenner:
+ my $Name;
+ my $Wert;
+ ($Name, $Wert) = split(/=/, $Parameter);
+
+ # Leerstellen restaurieren ('+' ersetzen durch ' '):
+ $Wert =~ tr/+/ /;
+
+ # Hex-Codes %xx umwandeln in Character:
+ $Wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C" , hex($1))/eg;
+
+ # HTML-Sonderzeichen '&', '<', '>' kodieren:
+ $Wert =~ s/&/&/;
+ $Wert =~ s/</</;
+ $Wert =~ s/>/>/;
+
+ # Parameter ausgeben in HTML-Datei:
+ print "$Name = $Wert <br>\n";
+}
+
+# HTML-Datei abschliessen:
+print " </p>\n";
+print "</body>\n";
+print "</html>\n";
|
