![ein Kapitel weiter](../weiter.gif)
Das machen wir in diesem Kapitel (so siehts aus und funktionierts)
Nach der GET-Methode im Kapitel zuvor wollen wir uns nun die POST-Methode
betrachten. Bei der POST Methode werden die Zeichenketten, anstatt wie bei der
GET-Methode, nicht in einer Umgebungsvariable gelegt sondern in die Standarteingabe
(STDIN) an das CGI-Programm.
Das heißt das wir dafür verantwortlich sind aus STDIN zu lesen. Die Länge der codierten
Zeichenkette wird in CONTENT_LENGTH abgelegt. Geben sie z.B. in einem Formular
ein...
Hallo
...so steht in CONTENT_LENGTH der Wert 5
Außerdem wird auch die Variable CONTENT_TYPE gesetzt damit das CGI-Script
weiß was es mit den Daten machen soll. Benutzen wir wieder die selbe HTML-Datei wie schon zuvor.........
<html>
<head>
<title>Eine einfache Auswertung das Namens</title>
</head>
<body>
<h1><center><b><u> POST-Formular</u></b></center></h1><br><br>
<table width="50%" cellspacing=5 border=0
cellpadding=5 align="center" bgcolor="yellow">
<tr align="center " valign="center">
<form action="http://localhost/cgi-bin/auswert.pl" method=post>
<center><b>Bitte geben sie ihren Namen ein : </b>
<input name="Textfeld" size="20"> </input>
<input type=submit value="abschicken"></center>
</form>
</tr>
</table>
</body>
</html>
....nur jetzt mit der Methode POST.
Jetzt wollen wir auch gleich unser Skript dazu ansehen..............
#!/usr/bin/perl -w
read(STDIN, $input, $ENV{'CONTENT_LENGTH'});
my $output = <<HTML; Content-type: text/html
<html>
<head>
<title>AUSWERTUNG IHRER EINGABE</title></head>
<body>
<center><h1><b>Sie gaben ein : $input</b></h1><br>
CGI-Skripts zu schreiben ist doch gar nicht so schwer, oder?</center>
<body>
</html>
HTML
print $output;
Gehen sie wieder vor wie schon in den Kapiteln zuvor. Leider müssen wir hier wieder
alles erst decodieren. Und wie auch schon bei der GET-Methode lässt
sich auch hier das Modul CGI.pm einsetzen. Hier das Skript............
#!/usr/bin/perl -w
use CGI qw(:standard);
use strict;
my $name = param('Textfeld');
my $output = <<HTML;
<html>
<head>
<title>AUSWERTUNG IHRER EINGABE</title>
</head>
<body>
<center><h1><b>Hallo $name</b></h1><br>
CGI-Skripts zu schreiben ist doch gar nicht so schwer, oder?</center>
<body>
</html>
HTML
print header, $output;
An der POST-Methode können sie auch sehen das die URL unverändert bleibt im
Gegensatz zur GET-Methode.
![ein Kapitel weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|