blob: 7de1feca1367602f4b340bc4e6fe7a3447c61b1d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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";
|