|    
 
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  5Auß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.
       
 © 2001,2002 Jürgen Wolf
 |